From 9672d5a1a13cf136b083781460c9137b921981b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Tue, 2 Sep 2025 14:37:03 +0200 Subject: [PATCH 01/13] WIP --- Cargo.lock | 263 +++++++++++++++++--------- Cargo.toml | 28 ++- components/apps/Cargo.toml | 12 +- components/ndef-app/Cargo.toml | 4 +- components/ndef-app/src/ndef.rs | 9 +- components/nfc-device/Cargo.toml | 4 +- components/provisioner-app/Cargo.toml | 2 +- 7 files changed, 209 insertions(+), 113 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9744a7d3..1d01acf4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,16 +5,16 @@ version = 4 [[package]] name = "admin-app" version = "0.1.0" -source = "git+https://github.com/Nitrokey/admin-app.git?tag=v0.1.0-nitrokey.20#ff574d810f718c7ce0912512f6c551ca2ea7c88a" +source = "git+https://github.com/Nitrokey/admin-app.git?branch=heapless-09#1fd44695552e93bd77c5728ebde43ab2737827e3" dependencies = [ "apdu-app", "cbor-smol", "ctaphid-app", "delog", - "heapless", - "heapless-bytes", + "heapless 0.9.1", + "heapless-bytes 0.5.0", "hex-literal 0.4.1", - "iso7816", + "iso7816 0.2.0", "littlefs2-core", "serde", "strum_macros", @@ -32,7 +32,7 @@ checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ "crypto-common", "generic-array", - "heapless", + "heapless 0.7.17", ] [[package]] @@ -129,23 +129,22 @@ checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "apdu-app" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce391931a2cc4597eaf0d464db9d4d5e1939ccc8dd6eda0f86cda117e914c02d" +source = "git+https://github.com/trussed-dev/apdu-dispatch.git?branch=heapless-09#fe95252d6dee898e7f2e4fa24736eb3d80aa649b" dependencies = [ - "iso7816", + "heapless 0.9.1", + "iso7816 0.2.0", ] [[package]] name = "apdu-dispatch" version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d6e6883b2c23b9fe1a488913705c7b68f751bdb73da036ff8191da729337a5d" +source = "git+https://github.com/trussed-dev/apdu-dispatch.git?branch=heapless-09#fe95252d6dee898e7f2e4fa24736eb3d80aa649b" dependencies = [ "apdu-app", "delog", - "heapless", + "heapless 0.9.1", "interchange", - "iso7816", + "iso7816 0.2.0", ] [[package]] @@ -160,8 +159,8 @@ dependencies = [ "delog", "embedded-hal", "fido-authenticator", - "heapless", - "heapless-bytes", + "heapless 0.9.1", + "heapless-bytes 0.5.0", "hex", "if_chain", "interchange", @@ -379,7 +378,7 @@ dependencies = [ "generic-array", "interchange", "lfs-backup", - "littlefs2", + "littlefs2 0.6.1", "littlefs2-core", "lpc55-hal", "lpc55-pac", @@ -544,12 +543,13 @@ dependencies = [ [[package]] name = "cbor-smol" version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087b31faa4ad4ba21c9bd0209204eef424dae6424195aafc7242006b69fc8d" +source = "git+https://github.com/trussed-dev/cbor-smol.git?branch=heapless-0.9#6145f0fd910b56d0958c14e9fac00ecb859bbb00" dependencies = [ "delog", - "heapless", - "heapless-bytes", + "heapless 0.7.17", + "heapless 0.9.1", + "heapless-bytes 0.3.0", + "heapless-bytes 0.5.0", "serde", ] @@ -804,7 +804,7 @@ dependencies = [ "bare-metal 1.0.0", "cortex-m", "cortex-m-rtic-macros", - "heapless", + "heapless 0.7.17", "rtic-core", "rtic-monotonic", "version_check", @@ -838,7 +838,17 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75494895fa1a9713ca725ddf2db084ee84fb0c20938fdd7c89293febe732d30a" dependencies = [ - "heapless-bytes", + "heapless-bytes 0.3.0", + "serde", + "serde_repr", +] + +[[package]] +name = "cosey" +version = "0.4.0" +source = "git+https://github.com/trussed-dev/cosey.git?branch=heapless-bytes-0.5#84a9c82dd9ed094ef45bbd59bbef8efde80f03f6" +dependencies = [ + "heapless-bytes 0.5.0", "serde", "serde_repr", ] @@ -921,11 +931,11 @@ checksum = "bb8b105c5e728afd373e99874f0c1911c170b3a56848456cc16feb4506321606" dependencies = [ "bitflags 1.3.2", "cbor-smol", - "cosey", + "cosey 0.3.2", "delog", - "heapless", - "heapless-bytes", - "iso7816", + "heapless 0.7.17", + "heapless-bytes 0.3.0", + "iso7816 0.1.4", "serde", "serde-indexed", "serde_bytes", @@ -935,22 +945,20 @@ dependencies = [ [[package]] name = "ctaphid-app" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fe93489fe96c998488d0843dffea35c02ed9add2585e55228e1d45988727ecc" +source = "git+https://github.com/trussed-dev/ctaphid-dispatch.git?rev=4a10f787eed868a4d3b6953e7e65cdb764f34001#4a10f787eed868a4d3b6953e7e65cdb764f34001" dependencies = [ - "heapless-bytes", + "heapless-bytes 0.5.0", "trussed-core", ] [[package]] name = "ctaphid-dispatch" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38fd4316573df369820c5a9f8285fe522d8871c0b20bcf7d390f73b8e6caee28" +source = "git+https://github.com/trussed-dev/ctaphid-dispatch.git?rev=4a10f787eed868a4d3b6953e7e65cdb764f34001#4a10f787eed868a4d3b6953e7e65cdb764f34001" dependencies = [ "ctaphid-app", "delog", - "heapless-bytes", + "heapless-bytes 0.5.0", "interchange", "ref-swap", "trussed-core", @@ -1204,8 +1212,8 @@ source = "git+https://github.com/Nitrokey/trussed-secrets-app?tag=v0.14.0#e72e80 dependencies = [ "cbor-smol", "delog", - "heapless", - "heapless-bytes", + "heapless 0.7.17", + "heapless-bytes 0.3.0", "serde", "trussed-core", ] @@ -1266,13 +1274,13 @@ source = "git+https://github.com/Nitrokey/fido-authenticator.git?tag=v0.1.1-nitr dependencies = [ "apdu-app", "cbor-smol", - "cosey", + "cosey 0.3.2", "ctap-types", "ctaphid-app", "delog", - "heapless", - "heapless-bytes", - "iso7816", + "heapless 0.7.17", + "heapless-bytes 0.3.0", + "iso7816 0.1.4", "littlefs2-core", "serde", "serde-indexed", @@ -1303,8 +1311,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2510a9088d9557aab93401404fc6786fad82f55705dedf4ee5884a3ace9be9b" dependencies = [ "delog", - "flexiber_derive", - "heapless", + "flexiber_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "heapless 0.7.17", +] + +[[package]] +name = "flexiber" +version = "0.2.0" +source = "git+https://github.com/trussed-dev/flexiber.git?branch=heapless-090#836316d392e57bb170c60c844865bcdea7f53795" +dependencies = [ + "delog", + "flexiber_derive 0.1.3 (git+https://github.com/trussed-dev/flexiber.git?branch=heapless-090)", + "heapless 0.9.1", ] [[package]] @@ -1319,6 +1337,17 @@ dependencies = [ "synstructure", ] +[[package]] +name = "flexiber_derive" +version = "0.1.3" +source = "git+https://github.com/trussed-dev/flexiber.git?branch=heapless-090#836316d392e57bb170c60c844865bcdea7f53795" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", + "synstructure", +] + [[package]] name = "fm11nc08" version = "0.1.0" @@ -1540,6 +1569,15 @@ dependencies = [ "byteorder", ] +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1565,24 +1603,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" dependencies = [ "atomic-polyfill", - "hash32", + "hash32 0.2.1", "rustc_version 0.4.1", "serde", "spin", "stable_deref_trait", ] +[[package]] +name = "heapless" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1edcd5a338e64688fbdcb7531a846cfd3476a54784dcb918a0844682bc7ada5" +dependencies = [ + "hash32 0.3.1", + "serde", + "stable_deref_trait", +] + [[package]] name = "heapless-bytes" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7285eba272c6af3e9f15fb9e1c1b6e7d35aa70580ffe0d47af017e97dfb6f48b" dependencies = [ - "heapless", + "heapless 0.7.17", "serde", "typenum", ] +[[package]] +name = "heapless-bytes" +version = "0.5.0" +source = "git+https://github.com/trussed-dev/heapless-bytes.git?rev=b146aa5d614eedba9c294bd4869342bbf29d0eb5#b146aa5d614eedba9c294bd4869342bbf29d0eb5" +dependencies = [ + "heapless 0.9.1", + "serde", +] + [[package]] name = "heck" version = "0.4.1" @@ -1842,7 +1900,15 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd3c7e91da489667bb054f9cd2f1c60cc2ac4478a899f403d11dbc62189215b0" dependencies = [ - "heapless", + "heapless 0.7.17", +] + +[[package]] +name = "iso7816" +version = "0.2.0" +source = "git+https://github.com/trussed-dev/iso7816.git?branch=heapless-09#9a18f46ed926bbdddef6ac36ea4e22e9668743a3" +dependencies = [ + "heapless 0.9.1", ] [[package]] @@ -1893,9 +1959,9 @@ name = "lfs-backup" version = "0.1.0" dependencies = [ "generic-array", - "heapless", - "heapless-bytes", - "littlefs2", + "heapless 0.7.17", + "heapless-bytes 0.3.0", + "littlefs2 0.6.1", "postcard 1.1.3", "rand", "serde", @@ -1941,12 +2007,25 @@ checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "littlefs2" version = "0.6.1" -source = "git+https://github.com/trussed-dev/littlefs2.git?rev=v0.6.1-nitrokey.1#b3a7371d849695fa05ab75910c4b14057db7ceb2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a43f3c0c6a7d127e3e1241665dd896d8bf1ca31cf9d826a1dc65239bd59868" +dependencies = [ + "delog", + "generic-array", + "heapless 0.7.17", + "littlefs2-core", + "littlefs2-sys", +] + +[[package]] +name = "littlefs2" +version = "0.7.0" +source = "git+https://github.com/trussed-dev/littlefs2.git?branch=update-heapless#d5fe3b43a2924dee450cb88158334f8ab10daf6a" dependencies = [ "bitflags 2.9.1", "delog", "generic-array", - "heapless", + "heapless 0.9.1", "littlefs2-core", "littlefs2-sys", ] @@ -1954,17 +2033,17 @@ dependencies = [ [[package]] name = "littlefs2-core" version = "0.1.1" -source = "git+https://github.com/trussed-dev/littlefs2.git?rev=v0.6.1-nitrokey.1#b3a7371d849695fa05ab75910c4b14057db7ceb2" +source = "git+https://github.com/trussed-dev/littlefs2.git?branch=update-heapless#d5fe3b43a2924dee450cb88158334f8ab10daf6a" dependencies = [ "bitflags 2.9.1", - "heapless-bytes", + "heapless-bytes 0.5.0", "serde", ] [[package]] name = "littlefs2-sys" version = "0.3.1" -source = "git+https://github.com/trussed-dev/littlefs2-sys.git?rev=v0.3.1-nitrokey.1#1cfd35c9974b877761e8bb45417f7ad2a61bedad" +source = "git+https://github.com/trussed-dev/littlefs2-sys?rev=v0.3.1-nitrokey.1#1cfd35c9974b877761e8bb45417f7ad2a61bedad" dependencies = [ "bindgen", "cc", @@ -2076,8 +2155,8 @@ name = "ndef-app" version = "0.1.0" dependencies = [ "apdu-app", - "heapless", - "iso7816", + "heapless 0.9.1", + "iso7816 0.2.0", ] [[package]] @@ -2087,9 +2166,9 @@ dependencies = [ "apdu-dispatch", "delog", "embedded-time", - "heapless", + "heapless 0.9.1", "interchange", - "iso7816", + "iso7816 0.2.0", "nb 1.1.0", ] @@ -2295,10 +2374,10 @@ dependencies = [ "cbor-smol", "cfg-if", "delog", - "heapless", - "heapless-bytes", + "heapless 0.7.17", + "heapless-bytes 0.3.0", "hex-literal 0.4.1", - "iso7816", + "iso7816 0.1.4", "littlefs2-core", "log", "serde", @@ -2413,11 +2492,11 @@ dependencies = [ "cbor-smol", "cfg-if", "delog", - "flexiber", - "heapless", - "heapless-bytes", + "flexiber 0.1.3", + "heapless 0.7.17", + "heapless-bytes 0.3.0", "hex-literal 0.3.4", - "iso7816", + "iso7816 0.1.4", "littlefs2-core", "log", "serde", @@ -2469,7 +2548,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a25c0b0ae06fcffe600ad392aabfa535696c8973f2253d9ac83171924c58a858" dependencies = [ - "heapless", + "heapless 0.7.17", "postcard-cobs", "serde", ] @@ -2481,7 +2560,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" dependencies = [ "cobs", - "heapless", + "heapless 0.7.17", "serde", ] @@ -2568,9 +2647,9 @@ dependencies = [ "apdu-app", "ctaphid-app", "delog", - "heapless", - "heapless-bytes", - "iso7816", + "heapless 0.7.17", + "heapless-bytes 0.3.0", + "iso7816 0.1.4", "littlefs2-core", "p256-cortex-m4", "salty", @@ -2814,10 +2893,9 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "salty" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b947325a585e90733e0e9ec097228f40b637cc346f9bd68f84d5c6297d0fcfef" +source = "git+https://github.com/ycrypto/salty.git?branch=heapless-updated#3ca9a68411b7964fdd8246e0a4132514a1413b10" dependencies = [ - "cosey", + "cosey 0.4.0", "ed25519", "subtle", "zeroize", @@ -2847,9 +2925,9 @@ dependencies = [ "crc16", "delog", "embedded-hal", - "heapless", + "heapless 0.7.17", "hex-literal 0.4.1", - "iso7816", + "iso7816 0.1.4", "lpc55-hal", "nrf-hal-common", "rand", @@ -2883,11 +2961,11 @@ dependencies = [ "ctaphid-app", "delog", "encrypted_container", - "flexiber", - "heapless", - "heapless-bytes", + "flexiber 0.1.3", + "heapless 0.7.17", + "heapless-bytes 0.3.0", "hex-literal 0.3.4", - "iso7816", + "iso7816 0.1.4", "littlefs2-core", "serde", "trussed-auth", @@ -3476,7 +3554,7 @@ dependencies = [ [[package]] name = "trussed" version = "0.1.0" -source = "git+https://github.com/trussed-dev/trussed.git?rev=e107ed315a07dc6c992fac39d542e847cc3a1b6c#e107ed315a07dc6c992fac39d542e847cc3a1b6c" +source = "git+https://github.com/trussed-dev/trussed.git?branch=heapless-09#e6bb61a716a3575b3e5d9869a0e1bb1740fe9969" dependencies = [ "aes", "bitflags 2.9.1", @@ -3485,17 +3563,17 @@ dependencies = [ "cfg-if", "chacha20", "chacha20poly1305", - "cosey", + "cosey 0.4.0", "delog", "des", - "flexiber", + "flexiber 0.2.0", "generic-array", - "heapless", - "heapless-bytes", + "heapless 0.9.1", + "heapless-bytes 0.5.0", "hex-literal 0.4.1", "hmac", "interchange", - "littlefs2", + "littlefs2 0.7.0", "littlefs2-core", "nb 1.1.0", "p256-cortex-m4", @@ -3556,7 +3634,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afddad280ae8a5235e1b06408cca909ce9454cdd89f941b94b024c580732b3ce" dependencies = [ - "heapless-bytes", + "heapless-bytes 0.3.0", "littlefs2-core", "postcard 0.7.3", "rand_core", @@ -3599,8 +3677,7 @@ dependencies = [ [[package]] name = "trussed-manage" version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9663f2c1b5bddbb02f9edbbe9085313ae8cd03e53a2eb266f43b1dba365287" +source = "git+https://github.com/trussed-dev/trussed-staging.git?branch=heapless-09#b765f02009c067a2038756991aef6fd299de3b2f" dependencies = [ "littlefs2-core", "serde", @@ -3613,7 +3690,7 @@ version = "0.3.0" source = "git+https://github.com/trussed-dev/trussed-rsa-backend.git?tag=v0.3.0#053d3b55622d6956610eff80a138ab92671df4ca" dependencies = [ "delog", - "heapless-bytes", + "heapless-bytes 0.3.0", "num-bigint-dig", "postcard 0.7.3", "rsa", @@ -3636,7 +3713,7 @@ dependencies = [ "hex-literal 0.4.1", "hkdf", "hmac", - "iso7816", + "iso7816 0.1.4", "littlefs2-core", "p256", "p256-cortex-m4", @@ -3672,12 +3749,14 @@ dependencies = [ [[package]] name = "trussed-staging" version = "0.3.3" -source = "git+https://github.com/trussed-dev/trussed-staging.git?tag=v0.3.3#2e44cf8ca3e6597880a1e59757228da2d6cce3f1" +source = "git+https://github.com/trussed-dev/trussed-staging.git?branch=heapless-09#b765f02009c067a2038756991aef6fd299de3b2f" dependencies = [ "aead", "chacha20poly1305", "delog", "digest 0.10.7", + "heapless 0.9.1", + "heapless-bytes 0.5.0", "hex-literal 0.4.1", "hkdf", "littlefs2-core", @@ -3827,9 +3906,9 @@ checksum = "403fefa622483869d1b36f2accd7458291202c18aa2f2e5147caf638825dde0c" dependencies = [ "delog", "embedded-time", - "heapless", + "heapless 0.7.17", "interchange", - "iso7816", + "iso7816 0.1.4", "usb-device", ] @@ -3842,7 +3921,7 @@ dependencies = [ "ctaphid-dispatch", "delog", "embedded-time", - "heapless-bytes", + "heapless-bytes 0.3.0", "interchange", "ref-swap", "serde", @@ -3872,7 +3951,7 @@ dependencies = [ "ctaphid-dispatch", "delog", "dialoguer", - "littlefs2", + "littlefs2 0.6.1", "littlefs2-core", "log", "pretty_env_logger", @@ -3901,7 +3980,7 @@ version = "1.8.2" dependencies = [ "chrono", "delog", - "littlefs2", + "littlefs2 0.6.1", "quickcheck", "regex", "semver 1.0.26", diff --git a/Cargo.toml b/Cargo.toml index 9fceda41..c869a10e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,11 +21,14 @@ memory-regions = { path = "components/memory-regions" } # unreleased libraries p256-cortex-m4 = { git = "https://github.com/ycrypto/p256-cortex-m4.git", rev = "cdb31e12594b4dc1f045b860a885fdc94d96aee2" } -trussed = { git = "https://github.com/trussed-dev/trussed.git", rev = "e107ed315a07dc6c992fac39d542e847cc3a1b6c" } +trussed = { git = "https://github.com/trussed-dev/trussed.git", branch = "heapless-09" } +trussed-manage = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } + trussed-usbip = { git = "https://github.com/trussed-dev/pc-usbip-runner.git", rev = "504674453c9573a30aa2f155101df49eb2af1ba7" } # applications -admin-app = { git = "https://github.com/Nitrokey/admin-app.git", tag = "v0.1.0-nitrokey.20" } +# admin-app = { git = "https://github.com/Nitrokey/admin-app.git", tag = "v0.1.0-nitrokey.20" } +admin-app = { git = "https://github.com/Nitrokey/admin-app.git", branch = "heapless-09" } fido-authenticator = { git = "https://github.com/Nitrokey/fido-authenticator.git",tag = "v0.1.1-nitrokey.27" } opcard = { git = "https://github.com/Nitrokey/opcard-rs", tag = "v1.6.1" } piv-authenticator = { git = "https://github.com/trussed-dev/piv-authenticator.git", tag = "v0.5.3" } @@ -35,10 +38,23 @@ secrets-app = { git = "https://github.com/Nitrokey/trussed-secrets-app", tag = " trussed-auth-backend = { git = "https://github.com/trussed-dev/trussed-auth", tag = "v0.4.0" } trussed-rsa-alloc = { git = "https://github.com/trussed-dev/trussed-rsa-backend.git", tag = "v0.3.0" } trussed-se050-backend = { git = "https://github.com/Nitrokey/trussed-se050-backend.git", tag = "v0.5.0" } -trussed-staging = { git = "https://github.com/trussed-dev/trussed-staging.git", tag = "v0.3.3" } -littlefs2-sys = { git = "https://github.com/trussed-dev/littlefs2-sys.git", rev = "v0.3.1-nitrokey.1" } -littlefs2 = { git = "https://github.com/trussed-dev/littlefs2.git", rev = "v0.6.1-nitrokey.1" } -littlefs2-core = { git = "https://github.com/trussed-dev/littlefs2.git", rev = "v0.6.1-nitrokey.1" } +trussed-staging = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } +littlefs2 = { git = "https://github.com/trussed-dev/littlefs2.git", branch = "update-heapless" } +littlefs2-core = { git = "https://github.com/trussed-dev/littlefs2.git", branch = "update-heapless" } +littlefs2-sys = { git = "https://github.com/trussed-dev/littlefs2-sys", rev = "v0.3.1-nitrokey.1" } + + +iso7816 = { git = "https://github.com/trussed-dev/iso7816.git", branch = "heapless-09" } +cbor-smol = { git = "https://github.com/trussed-dev/cbor-smol.git", branch = "heapless-0.9" } +cosey = { git = "https://github.com/trussed-dev/cosey.git", branch = "heapless-bytes-0.5" } +salty = { git = "https://github.com/ycrypto/salty.git", branch = "heapless-updated" } +flexiber = { git = "https://github.com/trussed-dev/flexiber.git", branch = "heapless-090" } +heapless-bytes = { git = "https://github.com/trussed-dev/heapless-bytes.git", rev = "b146aa5d614eedba9c294bd4869342bbf29d0eb5" } +ctaphid-app = { git = "https://github.com/trussed-dev/ctaphid-dispatch.git", rev = "4a10f787eed868a4d3b6953e7e65cdb764f34001" } +ctaphid-dispatch = { git = "https://github.com/trussed-dev/ctaphid-dispatch.git", rev = "4a10f787eed868a4d3b6953e7e65cdb764f34001" } +apdu-app = { git = "https://github.com/trussed-dev/apdu-dispatch.git", branch = "heapless-09" } +apdu-dispatch = { git = "https://github.com/trussed-dev/apdu-dispatch.git", branch = "heapless-09" } + [profile.release] codegen-units = 1 diff --git a/components/apps/Cargo.toml b/components/apps/Cargo.toml index 807618c7..8d81da0e 100644 --- a/components/apps/Cargo.toml +++ b/components/apps/Cargo.toml @@ -9,12 +9,12 @@ apdu-app = "0.1" bitflags = "2" ctaphid-app = "0.1" embedded-hal = "0.2.7" -heapless = "0.7" -heapless-bytes = "0.3" +heapless = "0.9" +heapless-bytes = "0.5" interchange = "0.3" se05x = { version = "0.2.0", optional = true} serde = { version = "1.0.180", default-features = false } -trussed = { version = "0.1", default-features = false, features = ["crypto-client", "filesystem-client", "management-client", "serde-extensions", "ui-client"] } +trussed = { version = "0.1", default-features = false, features = ["serde-extensions"] } trussed-core = "0.1.0-rc.1" trussed-usbip = { version = "0.0.1", default-features = false, features = ["ctaphid"], optional = true } usbd-ctaphid = { version = "0.3", optional = true } @@ -63,9 +63,9 @@ nkpk-provisioner = ["nkpk", "provisioner-app"] # apps secrets-app = ["dep:secrets-app", "backend-auth", "trussed/chacha8-poly1305", "trussed/hmac-sha1", "trussed/hmac-sha256", "trussed/sha256"] -fido-authenticator = ["dep:fido-authenticator", "usbd-ctaphid", "trussed/aes256-cbc", "trussed/certificate-client", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/hmac-sha256", "trussed/p256", "trussed/sha256"] -opcard = ["dep:opcard", "backend-rsa", "backend-auth", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/p256", "trussed/shared-secret", "trussed/x255"] -piv-authenticator = ["dep:piv-authenticator", "backend-rsa", "backend-auth", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/p256", "trussed/shared-secret", "trussed/tdes", "trussed/x255"] +fido-authenticator = ["dep:fido-authenticator", "usbd-ctaphid", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/hmac-sha256", "trussed/p256", "trussed/sha256"] +opcard = ["dep:opcard", "backend-rsa", "backend-auth", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/p256", "trussed/x255"] +piv-authenticator = ["dep:piv-authenticator", "backend-rsa", "backend-auth", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/p256", "trussed/tdes", "trussed/x255"] se050 = ["dep:se05x", "trussed-se050-backend", "trussed-se050-manage", "admin-app/se050"] # backends diff --git a/components/ndef-app/Cargo.toml b/components/ndef-app/Cargo.toml index 91acb055..49affc14 100644 --- a/components/ndef-app/Cargo.toml +++ b/components/ndef-app/Cargo.toml @@ -7,7 +7,7 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -heapless = "0.7" +heapless = "0.9" apdu-app = "0.1" -iso7816 = "0.1" +iso7816 = "0.2" diff --git a/components/ndef-app/src/ndef.rs b/components/ndef-app/src/ndef.rs index 411eed15..cd08b23d 100644 --- a/components/ndef-app/src/ndef.rs +++ b/components/ndef-app/src/ndef.rs @@ -1,5 +1,6 @@ -use apdu_app::{CommandView, Data, Interface}; +use apdu_app::{CommandView, Interface}; use iso7816::{Instruction, Status}; +use heapless::VecView; pub struct App<'a> { reader: &'a [u8], @@ -45,12 +46,12 @@ impl iso7816::App for App<'_> { } } -impl apdu_app::App for App<'_> { +impl apdu_app::App for App<'_> { fn select( &mut self, _interface: Interface, _apdu: CommandView<'_>, - _reply: &mut Data, + _reply: &mut VecView, ) -> apdu_app::Result { Ok(()) } @@ -61,7 +62,7 @@ impl apdu_app::App for App<'_> { &mut self, _type: Interface, apdu: CommandView<'_>, - reply: &mut Data, + reply: &mut VecView, ) -> apdu_app::Result { let instruction = apdu.instruction(); let p1 = apdu.p1; diff --git a/components/nfc-device/Cargo.toml b/components/nfc-device/Cargo.toml index 548f481d..6c9dc5d6 100644 --- a/components/nfc-device/Cargo.toml +++ b/components/nfc-device/Cargo.toml @@ -7,11 +7,11 @@ edition = "2018" [dependencies] delog = "0.1.0" embedded-time = "0.12" -heapless = "0.7" +heapless = "0.9" nb = "1" apdu-dispatch = "0.3" -iso7816 = "0.1" +iso7816 = "0.2" interchange = "0.3.0" [features] diff --git a/components/provisioner-app/Cargo.toml b/components/provisioner-app/Cargo.toml index 1800feba..51c2c8f5 100644 --- a/components/provisioner-app/Cargo.toml +++ b/components/provisioner-app/Cargo.toml @@ -15,7 +15,7 @@ heapless-bytes = "0.3" iso7816 = "0.1" littlefs2-core = "0.1" salty = { version = "0.3", features = ["cose"] } -trussed = { version = "0.1", default-features = false, features = ["crypto-client"] } +trussed = { version = "0.1", default-features = false } p256-cortex-m4 = "0.1.0-alpha.6" From 904c04de8c35ea6dffba07cd3cf0660d2fbb0631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Thu, 4 Sep 2025 17:40:43 +0200 Subject: [PATCH 02/13] WIP --- Cargo.lock | 39 ++++++++++---------------------- Cargo.toml | 8 ++++--- components/lfs-backup/Cargo.toml | 6 ++--- 3 files changed, 20 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1d01acf4..ad3e57e3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -378,7 +378,7 @@ dependencies = [ "generic-array", "interchange", "lfs-backup", - "littlefs2 0.6.1", + "littlefs2", "littlefs2-core", "lpc55-hal", "lpc55-pac", @@ -1959,9 +1959,9 @@ name = "lfs-backup" version = "0.1.0" dependencies = [ "generic-array", - "heapless 0.7.17", - "heapless-bytes 0.3.0", - "littlefs2 0.6.1", + "heapless 0.9.1", + "heapless-bytes 0.5.0", + "littlefs2", "postcard 1.1.3", "rand", "serde", @@ -2004,19 +2004,6 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" -[[package]] -name = "littlefs2" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a43f3c0c6a7d127e3e1241665dd896d8bf1ca31cf9d826a1dc65239bd59868" -dependencies = [ - "delog", - "generic-array", - "heapless 0.7.17", - "littlefs2-core", - "littlefs2-sys", -] - [[package]] name = "littlefs2" version = "0.7.0" @@ -3554,7 +3541,7 @@ dependencies = [ [[package]] name = "trussed" version = "0.1.0" -source = "git+https://github.com/trussed-dev/trussed.git?branch=heapless-09#e6bb61a716a3575b3e5d9869a0e1bb1740fe9969" +source = "git+https://github.com/trussed-dev/trussed.git?rev=e6bb61a716a3575b3e5d9869a0e1bb1740fe9969#e6bb61a716a3575b3e5d9869a0e1bb1740fe9969" dependencies = [ "aes", "bitflags 2.9.1", @@ -3573,7 +3560,7 @@ dependencies = [ "hex-literal 0.4.1", "hmac", "interchange", - "littlefs2 0.7.0", + "littlefs2", "littlefs2-core", "nb 1.1.0", "p256-cortex-m4", @@ -3591,8 +3578,7 @@ dependencies = [ [[package]] name = "trussed-auth" version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3110004319491b9210f50c3653a574d354e27a3de73ae5a3dfc2e686027702e7" +source = "git+https://github.com/trussed-dev/trussed-auth?rev=9e07990b78c21704e372df4fd1a6334bef9b1bfa#9e07990b78c21704e372df4fd1a6334bef9b1bfa" dependencies = [ "serde", "trussed-core", @@ -3601,7 +3587,7 @@ dependencies = [ [[package]] name = "trussed-auth-backend" version = "0.1.0" -source = "git+https://github.com/trussed-dev/trussed-auth?tag=v0.4.0#ab6ad8422531fb4801fee795cb44baa375320f15" +source = "git+https://github.com/trussed-dev/trussed-auth?rev=9e07990b78c21704e372df4fd1a6334bef9b1bfa#9e07990b78c21704e372df4fd1a6334bef9b1bfa" dependencies = [ "chacha20poly1305", "hkdf", @@ -3915,13 +3901,12 @@ dependencies = [ [[package]] name = "usbd-ctaphid" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82f5a2aa6898726b4eeb3fa3796fb8dc49e76e2a16bd683db103f63bc8ceca97" +source = "git+https://github.com/trussed-dev/usbd-ctaphid.git?branch=heapless-09#c085a54ba8d640e3c9f9913551eb3c17bfd5c163" dependencies = [ "ctaphid-dispatch", "delog", "embedded-time", - "heapless-bytes 0.3.0", + "heapless-bytes 0.5.0", "interchange", "ref-swap", "serde", @@ -3951,7 +3936,7 @@ dependencies = [ "ctaphid-dispatch", "delog", "dialoguer", - "littlefs2 0.6.1", + "littlefs2", "littlefs2-core", "log", "pretty_env_logger", @@ -3980,7 +3965,7 @@ version = "1.8.2" dependencies = [ "chrono", "delog", - "littlefs2 0.6.1", + "littlefs2", "quickcheck", "regex", "semver 1.0.26", diff --git a/Cargo.toml b/Cargo.toml index c869a10e..776c4c5c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ resolver = "2" version = "1.8.2" [workspace.dependencies] -littlefs2 = "0.6" +littlefs2 = "0.7" [patch.crates-io] # components @@ -21,7 +21,7 @@ memory-regions = { path = "components/memory-regions" } # unreleased libraries p256-cortex-m4 = { git = "https://github.com/ycrypto/p256-cortex-m4.git", rev = "cdb31e12594b4dc1f045b860a885fdc94d96aee2" } -trussed = { git = "https://github.com/trussed-dev/trussed.git", branch = "heapless-09" } +trussed = { git = "https://github.com/trussed-dev/trussed.git", rev = "e6bb61a716a3575b3e5d9869a0e1bb1740fe9969" } trussed-manage = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } trussed-usbip = { git = "https://github.com/trussed-dev/pc-usbip-runner.git", rev = "504674453c9573a30aa2f155101df49eb2af1ba7" } @@ -35,7 +35,8 @@ piv-authenticator = { git = "https://github.com/trussed-dev/piv-authenticator.gi secrets-app = { git = "https://github.com/Nitrokey/trussed-secrets-app", tag = "v0.14.0" } # backends -trussed-auth-backend = { git = "https://github.com/trussed-dev/trussed-auth", tag = "v0.4.0" } +trussed-auth = { git = "https://github.com/trussed-dev/trussed-auth", rev = "9e07990b78c21704e372df4fd1a6334bef9b1bfa" } +trussed-auth-backend = { git = "https://github.com/trussed-dev/trussed-auth", rev = "9e07990b78c21704e372df4fd1a6334bef9b1bfa" } trussed-rsa-alloc = { git = "https://github.com/trussed-dev/trussed-rsa-backend.git", tag = "v0.3.0" } trussed-se050-backend = { git = "https://github.com/Nitrokey/trussed-se050-backend.git", tag = "v0.5.0" } trussed-staging = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } @@ -54,6 +55,7 @@ ctaphid-app = { git = "https://github.com/trussed-dev/ctaphid-dispatch.git", rev ctaphid-dispatch = { git = "https://github.com/trussed-dev/ctaphid-dispatch.git", rev = "4a10f787eed868a4d3b6953e7e65cdb764f34001" } apdu-app = { git = "https://github.com/trussed-dev/apdu-dispatch.git", branch = "heapless-09" } apdu-dispatch = { git = "https://github.com/trussed-dev/apdu-dispatch.git", branch = "heapless-09" } +usbd-ctaphid = { git = "https://github.com/trussed-dev/usbd-ctaphid.git", branch = "heapless-09" } [profile.release] diff --git a/components/lfs-backup/Cargo.toml b/components/lfs-backup/Cargo.toml index 74ef0cc4..3999a819 100644 --- a/components/lfs-backup/Cargo.toml +++ b/components/lfs-backup/Cargo.toml @@ -8,14 +8,14 @@ edition = "2021" littlefs2.workspace = true generic-array = "0.14.6" -heapless-bytes = "0.3.0" -heapless = "0.7.16" +heapless-bytes = "0.5.0" +heapless = "0.9.1" serde = { version = "1.0", default-features = false } postcard = "1.0" trussed = { version = "0.1", default-features = false } -trussed-core = "0.1.0-rc.1" +trussed-core = "0.1.0" [dev-dependencies] rand = "0.8.5" From ead95f61a40044d1d4ab6c1389016d5dde3dc455 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Tue, 9 Sep 2025 12:21:01 +0200 Subject: [PATCH 03/13] WIP --- Cargo.lock | 286 ++++++------------ Cargo.toml | 28 +- components/apps/Cargo.toml | 2 +- components/apps/src/lib.rs | 16 +- components/boards/src/init.rs | 2 +- .../nk3am/migrations/ftl_journal/backends.rs | 4 +- components/lfs-backup/src/lfs_backup.rs | 18 +- components/ndef-app/src/ndef.rs | 2 +- components/provisioner-app/Cargo.toml | 6 +- 9 files changed, 133 insertions(+), 231 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ad3e57e3..9b835e05 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,16 +5,16 @@ version = 4 [[package]] name = "admin-app" version = "0.1.0" -source = "git+https://github.com/Nitrokey/admin-app.git?branch=heapless-09#1fd44695552e93bd77c5728ebde43ab2737827e3" +source = "git+https://github.com/Nitrokey/admin-app.git?rev=7c0f00361a261256cfd2d639247030d02e92fec2#7c0f00361a261256cfd2d639247030d02e92fec2" dependencies = [ "apdu-app", "cbor-smol", "ctaphid-app", "delog", "heapless 0.9.1", - "heapless-bytes 0.5.0", + "heapless-bytes", "hex-literal 0.4.1", - "iso7816 0.2.0", + "iso7816", "littlefs2-core", "serde", "strum_macros", @@ -129,22 +129,22 @@ checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "apdu-app" version = "0.1.0" -source = "git+https://github.com/trussed-dev/apdu-dispatch.git?branch=heapless-09#fe95252d6dee898e7f2e4fa24736eb3d80aa649b" +source = "git+https://github.com/trussed-dev/apdu-dispatch.git?rev=fe95252d6dee898e7f2e4fa24736eb3d80aa649b#fe95252d6dee898e7f2e4fa24736eb3d80aa649b" dependencies = [ "heapless 0.9.1", - "iso7816 0.2.0", + "iso7816", ] [[package]] name = "apdu-dispatch" version = "0.3.1" -source = "git+https://github.com/trussed-dev/apdu-dispatch.git?branch=heapless-09#fe95252d6dee898e7f2e4fa24736eb3d80aa649b" +source = "git+https://github.com/trussed-dev/apdu-dispatch.git?rev=fe95252d6dee898e7f2e4fa24736eb3d80aa649b#fe95252d6dee898e7f2e4fa24736eb3d80aa649b" dependencies = [ "apdu-app", "delog", "heapless 0.9.1", "interchange", - "iso7816 0.2.0", + "iso7816", ] [[package]] @@ -160,7 +160,7 @@ dependencies = [ "embedded-hal", "fido-authenticator", "heapless 0.9.1", - "heapless-bytes 0.5.0", + "heapless-bytes", "hex", "if_chain", "interchange", @@ -546,10 +546,8 @@ version = "0.5.0" source = "git+https://github.com/trussed-dev/cbor-smol.git?branch=heapless-0.9#6145f0fd910b56d0958c14e9fac00ecb859bbb00" dependencies = [ "delog", - "heapless 0.7.17", "heapless 0.9.1", - "heapless-bytes 0.3.0", - "heapless-bytes 0.5.0", + "heapless-bytes", "serde", ] @@ -832,23 +830,12 @@ dependencies = [ "cortex-m", ] -[[package]] -name = "cosey" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75494895fa1a9713ca725ddf2db084ee84fb0c20938fdd7c89293febe732d30a" -dependencies = [ - "heapless-bytes 0.3.0", - "serde", - "serde_repr", -] - [[package]] name = "cosey" version = "0.4.0" source = "git+https://github.com/trussed-dev/cosey.git?branch=heapless-bytes-0.5#84a9c82dd9ed094ef45bbd59bbef8efde80f03f6" dependencies = [ - "heapless-bytes 0.5.0", + "heapless-bytes", "serde", "serde_repr", ] @@ -926,16 +913,15 @@ dependencies = [ [[package]] name = "ctap-types" version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb8b105c5e728afd373e99874f0c1911c170b3a56848456cc16feb4506321606" +source = "git+https://github.com/trussed-dev/ctap-types?rev=7509af268b869bd76ab00ddd62a2340764f4551c#7509af268b869bd76ab00ddd62a2340764f4551c" dependencies = [ "bitflags 1.3.2", "cbor-smol", - "cosey 0.3.2", + "cosey", "delog", - "heapless 0.7.17", - "heapless-bytes 0.3.0", - "iso7816 0.1.4", + "heapless 0.9.1", + "heapless-bytes", + "iso7816", "serde", "serde-indexed", "serde_bytes", @@ -947,7 +933,7 @@ name = "ctaphid-app" version = "0.1.0" source = "git+https://github.com/trussed-dev/ctaphid-dispatch.git?rev=4a10f787eed868a4d3b6953e7e65cdb764f34001#4a10f787eed868a4d3b6953e7e65cdb764f34001" dependencies = [ - "heapless-bytes 0.5.0", + "heapless-bytes", "trussed-core", ] @@ -958,7 +944,7 @@ source = "git+https://github.com/trussed-dev/ctaphid-dispatch.git?rev=4a10f787ee dependencies = [ "ctaphid-app", "delog", - "heapless-bytes 0.5.0", + "heapless-bytes", "interchange", "ref-swap", "trussed-core", @@ -1208,12 +1194,12 @@ checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encrypted_container" version = "0.1.0" -source = "git+https://github.com/Nitrokey/trussed-secrets-app?tag=v0.14.0#e72e80491b79962ac0f8030581eca8ba0004a732" +source = "git+https://github.com/Nitrokey/trussed-secrets-app?rev=459745bd9734c2c75dc35769eb834b16175ca832#459745bd9734c2c75dc35769eb834b16175ca832" dependencies = [ "cbor-smol", "delog", - "heapless 0.7.17", - "heapless-bytes 0.3.0", + "heapless 0.9.1", + "heapless-bytes", "serde", "trussed-core", ] @@ -1270,17 +1256,17 @@ dependencies = [ [[package]] name = "fido-authenticator" version = "0.1.1" -source = "git+https://github.com/Nitrokey/fido-authenticator.git?tag=v0.1.1-nitrokey.27#5ebb4a48302e4c80a2abe1c2d86201a3df2a1d2d" +source = "git+https://github.com/Nitrokey/fido-authenticator.git?rev=71ac8fb0d54a1ac385cf0d0bd93dbb55bd16814b#71ac8fb0d54a1ac385cf0d0bd93dbb55bd16814b" dependencies = [ "apdu-app", "cbor-smol", - "cosey 0.3.2", + "cosey", "ctap-types", "ctaphid-app", "delog", - "heapless 0.7.17", - "heapless-bytes 0.3.0", - "iso7816 0.1.4", + "heapless 0.9.1", + "heapless-bytes", + "iso7816", "littlefs2-core", "serde", "serde-indexed", @@ -1304,39 +1290,16 @@ dependencies = [ "typenum", ] -[[package]] -name = "flexiber" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2510a9088d9557aab93401404fc6786fad82f55705dedf4ee5884a3ace9be9b" -dependencies = [ - "delog", - "flexiber_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "heapless 0.7.17", -] - [[package]] name = "flexiber" version = "0.2.0" source = "git+https://github.com/trussed-dev/flexiber.git?branch=heapless-090#836316d392e57bb170c60c844865bcdea7f53795" dependencies = [ "delog", - "flexiber_derive 0.1.3 (git+https://github.com/trussed-dev/flexiber.git?branch=heapless-090)", + "flexiber_derive", "heapless 0.9.1", ] -[[package]] -name = "flexiber_derive" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9985657bc39bae5cb7f4e686b46c67b1ea37390d82fe4bab56d7cd1933429d7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", - "synstructure", -] - [[package]] name = "flexiber_derive" version = "0.1.3" @@ -1621,17 +1584,6 @@ dependencies = [ "stable_deref_trait", ] -[[package]] -name = "heapless-bytes" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7285eba272c6af3e9f15fb9e1c1b6e7d35aa70580ffe0d47af017e97dfb6f48b" -dependencies = [ - "heapless 0.7.17", - "serde", - "typenum", -] - [[package]] name = "heapless-bytes" version = "0.5.0" @@ -1894,15 +1846,6 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" -[[package]] -name = "iso7816" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3c7e91da489667bb054f9cd2f1c60cc2ac4478a899f403d11dbc62189215b0" -dependencies = [ - "heapless 0.7.17", -] - [[package]] name = "iso7816" version = "0.2.0" @@ -1960,7 +1903,7 @@ version = "0.1.0" dependencies = [ "generic-array", "heapless 0.9.1", - "heapless-bytes 0.5.0", + "heapless-bytes", "littlefs2", "postcard 1.1.3", "rand", @@ -1983,7 +1926,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.53.3", + "windows-targets 0.52.6", ] [[package]] @@ -2023,7 +1966,7 @@ version = "0.1.1" source = "git+https://github.com/trussed-dev/littlefs2.git?branch=update-heapless#d5fe3b43a2924dee450cb88158334f8ab10daf6a" dependencies = [ "bitflags 2.9.1", - "heapless-bytes 0.5.0", + "heapless-bytes", "serde", ] @@ -2143,7 +2086,7 @@ version = "0.1.0" dependencies = [ "apdu-app", "heapless 0.9.1", - "iso7816 0.2.0", + "iso7816", ] [[package]] @@ -2155,7 +2098,7 @@ dependencies = [ "embedded-time", "heapless 0.9.1", "interchange", - "iso7816 0.2.0", + "iso7816", "nb 1.1.0", ] @@ -2353,7 +2296,7 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "opcard" version = "1.6.1" -source = "git+https://github.com/Nitrokey/opcard-rs?tag=v1.6.1#d6eb2d6041ef13022c6cfb2a13eed9b0037b89d5" +source = "git+https://github.com/Nitrokey/opcard-rs?branch=heapless-09#ab34ba0cfbf66e8f9c8c5ecb8d551f848c9d9264" dependencies = [ "admin-app", "apdu-app", @@ -2361,10 +2304,10 @@ dependencies = [ "cbor-smol", "cfg-if", "delog", - "heapless 0.7.17", - "heapless-bytes 0.3.0", + "heapless 0.9.1", + "heapless-bytes", "hex-literal 0.4.1", - "iso7816 0.1.4", + "iso7816", "littlefs2-core", "log", "serde", @@ -2373,7 +2316,7 @@ dependencies = [ "trussed-auth", "trussed-chunked", "trussed-core", - "trussed-rsa-alloc", + "trussed-rsa-types", "trussed-wrap-key-to-file", ] @@ -2473,17 +2416,17 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piv-authenticator" version = "0.5.3" -source = "git+https://github.com/trussed-dev/piv-authenticator.git?tag=v0.5.3#5c858c2dd60fe2c3f628f50e308e2a2c39e34bd3" +source = "git+https://github.com/trussed-dev/piv-authenticator.git?rev=80d78d88f801160ecd27fc902b621fbf2c94bc9f#80d78d88f801160ecd27fc902b621fbf2c94bc9f" dependencies = [ "apdu-app", "cbor-smol", "cfg-if", "delog", - "flexiber 0.1.3", - "heapless 0.7.17", - "heapless-bytes 0.3.0", + "flexiber", + "heapless 0.9.1", + "heapless-bytes", "hex-literal 0.3.4", - "iso7816 0.1.4", + "iso7816", "littlefs2-core", "log", "serde", @@ -2492,7 +2435,7 @@ dependencies = [ "trussed-chunked", "trussed-core", "trussed-hpke", - "trussed-rsa-alloc", + "trussed-rsa-types", "trussed-wrap-key-to-file", "untrusted", ] @@ -2634,9 +2577,9 @@ dependencies = [ "apdu-app", "ctaphid-app", "delog", - "heapless 0.7.17", - "heapless-bytes 0.3.0", - "iso7816 0.1.4", + "heapless 0.9.1", + "heapless-bytes", + "iso7816", "littlefs2-core", "p256-cortex-m4", "salty", @@ -2882,7 +2825,7 @@ name = "salty" version = "0.3.0" source = "git+https://github.com/ycrypto/salty.git?branch=heapless-updated#3ca9a68411b7964fdd8246e0a4132514a1413b10" dependencies = [ - "cosey 0.4.0", + "cosey", "ed25519", "subtle", "zeroize", @@ -2903,8 +2846,7 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "se05x" version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ada869105531d741c32f9b444ebf5546c8bf0320b1f51aff83d3b65d58d761" +source = "git+https://github.com/Nitrokey/se05x.git?branch=heapless-09#cc1865d18d98a3d8a2f189abbb62406cdfea19a1" dependencies = [ "aes", "bitflags 2.9.1", @@ -2912,9 +2854,9 @@ dependencies = [ "crc16", "delog", "embedded-hal", - "heapless 0.7.17", + "heapless 0.9.1", "hex-literal 0.4.1", - "iso7816 0.1.4", + "iso7816", "lpc55-hal", "nrf-hal-common", "rand", @@ -2939,7 +2881,7 @@ dependencies = [ [[package]] name = "secrets-app" version = "0.14.0" -source = "git+https://github.com/Nitrokey/trussed-secrets-app?tag=v0.14.0#e72e80491b79962ac0f8030581eca8ba0004a732" +source = "git+https://github.com/Nitrokey/trussed-secrets-app?rev=459745bd9734c2c75dc35769eb834b16175ca832#459745bd9734c2c75dc35769eb834b16175ca832" dependencies = [ "apdu-app", "bitflags 2.9.1", @@ -2948,11 +2890,11 @@ dependencies = [ "ctaphid-app", "delog", "encrypted_container", - "flexiber 0.1.3", - "heapless 0.7.17", - "heapless-bytes 0.3.0", + "flexiber", + "heapless 0.9.1", + "heapless-bytes", "hex-literal 0.3.4", - "iso7816 0.1.4", + "iso7816", "littlefs2-core", "serde", "trussed-auth", @@ -3550,13 +3492,13 @@ dependencies = [ "cfg-if", "chacha20", "chacha20poly1305", - "cosey 0.4.0", + "cosey", "delog", "des", - "flexiber 0.2.0", + "flexiber", "generic-array", "heapless 0.9.1", - "heapless-bytes 0.5.0", + "heapless-bytes", "hex-literal 0.4.1", "hmac", "interchange", @@ -3578,7 +3520,7 @@ dependencies = [ [[package]] name = "trussed-auth" version = "0.4.0" -source = "git+https://github.com/trussed-dev/trussed-auth?rev=9e07990b78c21704e372df4fd1a6334bef9b1bfa#9e07990b78c21704e372df4fd1a6334bef9b1bfa" +source = "git+https://github.com/trussed-dev/trussed-auth.git?rev=e602a26f5b4cbb96515509f8e4ca72c8a7406c98#e602a26f5b4cbb96515509f8e4ca72c8a7406c98" dependencies = [ "serde", "trussed-core", @@ -3606,8 +3548,7 @@ dependencies = [ [[package]] name = "trussed-chunked" version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9268d9d812440965ce31684e0115ceafa2636b7a8cc04dc117594567c53ff75e" +source = "git+https://github.com/trussed-dev/trussed-staging.git?branch=heapless-09#b765f02009c067a2038756991aef6fd299de3b2f" dependencies = [ "serde", "serde-byte-array", @@ -3617,10 +3558,9 @@ dependencies = [ [[package]] name = "trussed-core" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afddad280ae8a5235e1b06408cca909ce9454cdd89f941b94b024c580732b3ce" +source = "git+https://github.com/trussed-dev/trussed.git?rev=e6bb61a716a3575b3e5d9869a0e1bb1740fe9969#e6bb61a716a3575b3e5d9869a0e1bb1740fe9969" dependencies = [ - "heapless-bytes 0.3.0", + "heapless-bytes", "littlefs2-core", "postcard 0.7.3", "rand_core", @@ -3673,22 +3613,32 @@ dependencies = [ [[package]] name = "trussed-rsa-alloc" version = "0.3.0" -source = "git+https://github.com/trussed-dev/trussed-rsa-backend.git?tag=v0.3.0#053d3b55622d6956610eff80a138ab92671df4ca" +source = "git+https://github.com/trussed-dev/trussed-rsa-backend.git?branch=heapless-09#5ed748d584c48555479c234c893adaac5dbab705" dependencies = [ "delog", - "heapless-bytes 0.3.0", + "heapless-bytes", "num-bigint-dig", - "postcard 0.7.3", "rsa", - "serde", "trussed", "trussed-core", + "trussed-rsa-types", +] + +[[package]] +name = "trussed-rsa-types" +version = "0.1.0" +source = "git+https://github.com/trussed-dev/trussed-rsa-backend.git?branch=heapless-09#5ed748d584c48555479c234c893adaac5dbab705" +dependencies = [ + "heapless-bytes", + "postcard 0.7.3", + "serde", + "trussed-core", ] [[package]] name = "trussed-se050-backend" version = "0.5.0" -source = "git+https://github.com/Nitrokey/trussed-se050-backend.git?tag=v0.5.0#f1405e79e46ec34bdfb5977613f084e172205ef9" +source = "git+https://github.com/Nitrokey/trussed-se050-backend.git?branch=heapless-09#053dfc72845bd484b71f64e925d444cae4f6b258" dependencies = [ "bitflags 2.9.1", "cbor-smol", @@ -3696,10 +3646,11 @@ dependencies = [ "crypto-bigint", "delog", "der", + "heapless 0.9.1", "hex-literal 0.4.1", "hkdf", "hmac", - "iso7816 0.1.4", + "iso7816", "littlefs2-core", "p256", "p256-cortex-m4", @@ -3718,6 +3669,7 @@ dependencies = [ "trussed-hpke", "trussed-manage", "trussed-rsa-alloc", + "trussed-rsa-types", "trussed-se050-manage", "trussed-wrap-key-to-file", ] @@ -3742,7 +3694,7 @@ dependencies = [ "delog", "digest 0.10.7", "heapless 0.9.1", - "heapless-bytes 0.5.0", + "heapless-bytes", "hex-literal 0.4.1", "hkdf", "littlefs2-core", @@ -3782,8 +3734,7 @@ dependencies = [ [[package]] name = "trussed-wrap-key-to-file" version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b923d89f632ac2b62af4193844f1afb6d0fe4e31af8a1a85053a328da1f512d7" +source = "git+https://github.com/trussed-dev/trussed-staging.git?branch=heapless-09#b765f02009c067a2038756991aef6fd299de3b2f" dependencies = [ "serde", "trussed-core", @@ -3887,14 +3838,12 @@ checksum = "1f6cc3adc849b5292b4075fc0d5fdcf2f24866e88e336dd27a8943090a520508" [[package]] name = "usbd-ccid" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403fefa622483869d1b36f2accd7458291202c18aa2f2e5147caf638825dde0c" +source = "git+https://github.com/trussed-dev/usbd-ccid.git?branch=heapless-09#045b8f16c6fc41ed71da3de2f47b9afa79535adf" dependencies = [ "delog", "embedded-time", - "heapless 0.7.17", + "heapless 0.9.1", "interchange", - "iso7816 0.1.4", "usb-device", ] @@ -3906,7 +3855,7 @@ dependencies = [ "ctaphid-dispatch", "delog", "embedded-time", - "heapless-bytes 0.5.0", + "heapless-bytes", "interchange", "ref-swap", "serde", @@ -4200,30 +4149,13 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", + "windows_i686_gnullvm", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] -[[package]] -name = "windows-targets" -version = "0.53.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" -dependencies = [ - "windows-link", - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", -] - [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -4236,12 +4168,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" - [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -4254,12 +4180,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" - [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -4272,24 +4192,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" -[[package]] -name = "windows_i686_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" - [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" - [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -4302,12 +4210,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_i686_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" - [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -4320,12 +4222,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" - [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -4338,12 +4234,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" - [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -4356,12 +4246,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" - [[package]] name = "winnow" version = "0.7.12" diff --git a/Cargo.toml b/Cargo.toml index 776c4c5c..08df024b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,40 +22,48 @@ memory-regions = { path = "components/memory-regions" } # unreleased libraries p256-cortex-m4 = { git = "https://github.com/ycrypto/p256-cortex-m4.git", rev = "cdb31e12594b4dc1f045b860a885fdc94d96aee2" } trussed = { git = "https://github.com/trussed-dev/trussed.git", rev = "e6bb61a716a3575b3e5d9869a0e1bb1740fe9969" } +trussed-core = { git = "https://github.com/trussed-dev/trussed.git", rev = "e6bb61a716a3575b3e5d9869a0e1bb1740fe9969" } trussed-manage = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } trussed-usbip = { git = "https://github.com/trussed-dev/pc-usbip-runner.git", rev = "504674453c9573a30aa2f155101df49eb2af1ba7" } # applications # admin-app = { git = "https://github.com/Nitrokey/admin-app.git", tag = "v0.1.0-nitrokey.20" } -admin-app = { git = "https://github.com/Nitrokey/admin-app.git", branch = "heapless-09" } -fido-authenticator = { git = "https://github.com/Nitrokey/fido-authenticator.git",tag = "v0.1.1-nitrokey.27" } -opcard = { git = "https://github.com/Nitrokey/opcard-rs", tag = "v1.6.1" } -piv-authenticator = { git = "https://github.com/trussed-dev/piv-authenticator.git", tag = "v0.5.3" } -secrets-app = { git = "https://github.com/Nitrokey/trussed-secrets-app", tag = "v0.14.0" } +admin-app = { git = "https://github.com/Nitrokey/admin-app.git", rev = "7c0f00361a261256cfd2d639247030d02e92fec2" } +fido-authenticator = { git = "https://github.com/Nitrokey/fido-authenticator.git",rev = "71ac8fb0d54a1ac385cf0d0bd93dbb55bd16814b" } +opcard = { git = "https://github.com/Nitrokey/opcard-rs", branch = "heapless-09" } +piv-authenticator = { git = "https://github.com/trussed-dev/piv-authenticator.git", rev = "80d78d88f801160ecd27fc902b621fbf2c94bc9f" } +secrets-app = { git = "https://github.com/Nitrokey/trussed-secrets-app", rev = "459745bd9734c2c75dc35769eb834b16175ca832" } +encrypted_container = { git = "https://github.com/Nitrokey/trussed-secrets-app", rev = "459745bd9734c2c75dc35769eb834b16175ca832" } # backends -trussed-auth = { git = "https://github.com/trussed-dev/trussed-auth", rev = "9e07990b78c21704e372df4fd1a6334bef9b1bfa" } +trussed-auth = { git = "https://github.com/trussed-dev/trussed-auth.git", rev = "e602a26f5b4cbb96515509f8e4ca72c8a7406c98" } trussed-auth-backend = { git = "https://github.com/trussed-dev/trussed-auth", rev = "9e07990b78c21704e372df4fd1a6334bef9b1bfa" } -trussed-rsa-alloc = { git = "https://github.com/trussed-dev/trussed-rsa-backend.git", tag = "v0.3.0" } -trussed-se050-backend = { git = "https://github.com/Nitrokey/trussed-se050-backend.git", tag = "v0.5.0" } +trussed-rsa-alloc = { git = "https://github.com/trussed-dev/trussed-rsa-backend.git",branch = "heapless-09" } +trussed-rsa-types = { git = "https://github.com/trussed-dev/trussed-rsa-backend.git", branch = "heapless-09" } +trussed-se050-backend = { git = "https://github.com/Nitrokey/trussed-se050-backend.git", branch = "heapless-09" } trussed-staging = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } +trussed-chunked = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } +trussed-wrap-key-to-file = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } littlefs2 = { git = "https://github.com/trussed-dev/littlefs2.git", branch = "update-heapless" } littlefs2-core = { git = "https://github.com/trussed-dev/littlefs2.git", branch = "update-heapless" } littlefs2-sys = { git = "https://github.com/trussed-dev/littlefs2-sys", rev = "v0.3.1-nitrokey.1" } +se05x = { git = "https://github.com/Nitrokey/se05x.git", branch = "heapless-09" } iso7816 = { git = "https://github.com/trussed-dev/iso7816.git", branch = "heapless-09" } cbor-smol = { git = "https://github.com/trussed-dev/cbor-smol.git", branch = "heapless-0.9" } cosey = { git = "https://github.com/trussed-dev/cosey.git", branch = "heapless-bytes-0.5" } +ctap-types = { git = "https://github.com/trussed-dev/ctap-types", rev = "7509af268b869bd76ab00ddd62a2340764f4551c"} salty = { git = "https://github.com/ycrypto/salty.git", branch = "heapless-updated" } flexiber = { git = "https://github.com/trussed-dev/flexiber.git", branch = "heapless-090" } heapless-bytes = { git = "https://github.com/trussed-dev/heapless-bytes.git", rev = "b146aa5d614eedba9c294bd4869342bbf29d0eb5" } ctaphid-app = { git = "https://github.com/trussed-dev/ctaphid-dispatch.git", rev = "4a10f787eed868a4d3b6953e7e65cdb764f34001" } ctaphid-dispatch = { git = "https://github.com/trussed-dev/ctaphid-dispatch.git", rev = "4a10f787eed868a4d3b6953e7e65cdb764f34001" } -apdu-app = { git = "https://github.com/trussed-dev/apdu-dispatch.git", branch = "heapless-09" } -apdu-dispatch = { git = "https://github.com/trussed-dev/apdu-dispatch.git", branch = "heapless-09" } +apdu-app = { git = "https://github.com/trussed-dev/apdu-dispatch.git", rev = "fe95252d6dee898e7f2e4fa24736eb3d80aa649b" } +apdu-dispatch = { git = "https://github.com/trussed-dev/apdu-dispatch.git", rev = "fe95252d6dee898e7f2e4fa24736eb3d80aa649b" } usbd-ctaphid = { git = "https://github.com/trussed-dev/usbd-ctaphid.git", branch = "heapless-09" } +usbd-ccid = { git = "https://github.com/trussed-dev/usbd-ccid.git", branch = "heapless-09" } [profile.release] diff --git a/components/apps/Cargo.toml b/components/apps/Cargo.toml index 8d81da0e..76e76ec6 100644 --- a/components/apps/Cargo.toml +++ b/components/apps/Cargo.toml @@ -14,7 +14,7 @@ heapless-bytes = "0.5" interchange = "0.3" se05x = { version = "0.2.0", optional = true} serde = { version = "1.0.180", default-features = false } -trussed = { version = "0.1", default-features = false, features = ["serde-extensions"] } +trussed = { version = "0.1", default-features = false, features = ["serde-extensions", "filesystem-client", "ui-client", "all-clients", "shared-secret"] } trussed-core = "0.1.0-rc.1" trussed-usbip = { version = "0.0.1", default-features = false, features = ["ctaphid"], optional = true } usbd-ctaphid = { version = "0.3", optional = true } diff --git a/components/apps/src/lib.rs b/components/apps/src/lib.rs index ddcca90c..fdb8255d 100644 --- a/components/apps/src/lib.rs +++ b/components/apps/src/lib.rs @@ -695,11 +695,11 @@ impl Apps { (app, data.init_status) } - pub fn apdu_dispatch(&mut self, f: F) -> T + pub fn apdu_dispatch(&mut self, f: F) -> T where - F: FnOnce(&mut [&mut dyn ApduApp]) -> T, + F: FnOnce(&mut [&mut dyn ApduApp]) -> T, { - let mut apps: Vec<&mut dyn ApduApp, 7> = Default::default(); + let mut apps: Vec<&mut dyn ApduApp, 7> = Default::default(); // App 1: ndef #[cfg(feature = "ndef-app")] @@ -739,11 +739,11 @@ impl Apps { f(&mut apps) } - pub fn ctaphid_dispatch(&mut self, f: F) -> T + pub fn ctaphid_dispatch(&mut self, f: F) -> T where - F: FnOnce(&mut [&mut dyn CtaphidApp<'static, N>]) -> T, + F: FnOnce(&mut [&mut dyn CtaphidApp<'static>]) -> T, { - let mut apps: Vec<&mut dyn CtaphidApp<'static, N>, 4> = Default::default(); + let mut apps: Vec<&mut dyn CtaphidApp<'static>, 4> = Default::default(); #[cfg(feature = "fido-authenticator")] if let Some(fido) = self.fido.as_mut() { @@ -786,9 +786,9 @@ where apps } - fn with_ctaphid_apps( + fn with_ctaphid_apps( &mut self, - f: impl FnOnce(&mut [&mut dyn CtaphidApp<'static, N>]) -> T, + f: impl FnOnce(&mut [&mut dyn CtaphidApp<'static>]) -> T, ) -> T { self.ctaphid_dispatch(f) } diff --git a/components/boards/src/init.rs b/components/boards/src/init.rs index c05f53ab..323d50a9 100644 --- a/components/boards/src/init.rs +++ b/components/boards/src/init.rs @@ -296,7 +296,7 @@ pub fn init_trussed( let dispatch = if let Some(hw_key) = hw_key { Dispatch::with_hw_key( AUTH_LOCATION, - trussed::types::Bytes::from_slice(hw_key).unwrap(), + trussed::types::Bytes::try_from(hw_key).unwrap(), #[cfg(feature = "se050")] se050, ) diff --git a/components/boards/src/nk3am/migrations/ftl_journal/backends.rs b/components/boards/src/nk3am/migrations/ftl_journal/backends.rs index ae051427..ef83b0fe 100644 --- a/components/boards/src/nk3am/migrations/ftl_journal/backends.rs +++ b/components/boards/src/nk3am/migrations/ftl_journal/backends.rs @@ -30,7 +30,7 @@ impl BackupBackend for EFSBackupBackend<'_> { fn write(&mut self, content: &[u8]) -> Result { let len = content.len() + ((Self::RW_SIZE - (content.len() % Self::RW_SIZE)) % Self::RW_SIZE); - let mut data: Bytes = Bytes::from_slice(content).unwrap(); + let mut data: Bytes = Bytes::try_from(content).unwrap(); data.resize(len, 0x00) .map_err(|_| FSBackupError::BackendWriteErr)?; @@ -49,7 +49,7 @@ impl BackupBackend for EFSBackupBackend<'_> { fn read(&mut self, len: usize) -> Result> { let mut output = Bytes::::default(); - output.resize_default(len).expect("assuming: N > len"); + output.resize_zero(len).expect("assuming: N > len"); self.extflash .read(self.offset, &mut output) diff --git a/components/lfs-backup/src/lfs_backup.rs b/components/lfs-backup/src/lfs_backup.rs index 210998e1..129589ec 100644 --- a/components/lfs-backup/src/lfs_backup.rs +++ b/components/lfs-backup/src/lfs_backup.rs @@ -47,6 +47,16 @@ impl From for FSBackupError { } } +pub(crate) fn postcard_serialize_bytes( + object: &T, +) -> postcard::Result> { + let mut vec = Vec::new(); + vec.resize(N, 0u8).unwrap(); + let serialized = postcard::to_slice(object, &mut vec)?.len(); + vec.resize(serialized, 0).unwrap(); + Ok(vec) +} + pub type Result = core::result::Result; #[derive(Clone, Debug)] @@ -95,7 +105,7 @@ pub trait BackupBackend { attr: Option, ) -> Result { let path_bytes = - Bytes::::from_slice(entry.path().as_str_ref_with_trailing_nul().as_bytes()) + Bytes::::try_from(entry.path().as_str_ref_with_trailing_nul().as_bytes()) .map_err(|_| FSBackupError::PathAssemblyErr)?; let blob = FSEntryBlob { @@ -106,7 +116,7 @@ pub trait BackupBackend { }; // assemble to-be-written blob => let raw_blob: Vec = - postcard::to_vec(&blob).map_err(|_| FSBackupError::SerializeErr)?; + postcard_serialize_bytes(&blob).map_err(|_| FSBackupError::SerializeErr)?; let raw_blob_len: u32 = raw_blob.len() as u32; let raw_blob_len_bin = raw_blob_len.to_be_bytes(); @@ -145,7 +155,7 @@ pub trait BackupBackend { buf // all data for entry already `read` no further `read` calls needed } else { - Bytes::from_slice(&chunk_one.as_slice()[4..]) + Bytes::try_from(&chunk_one.as_slice()[4..]) .map_err(|_| FSBackupError::BackendReadErr)? }; @@ -234,7 +244,7 @@ pub trait BackupBackend { .map_err(|_| FSBackupError::PathStackFullErr)?; let file_contents = entry.file_type().is_file().then(|| { - Message::from_slice( + Message::try_from( fs.read::(entry.path()) .unwrap() .as_slice(), diff --git a/components/ndef-app/src/ndef.rs b/components/ndef-app/src/ndef.rs index cd08b23d..05357085 100644 --- a/components/ndef-app/src/ndef.rs +++ b/components/ndef-app/src/ndef.rs @@ -1,6 +1,6 @@ use apdu_app::{CommandView, Interface}; -use iso7816::{Instruction, Status}; use heapless::VecView; +use iso7816::{Instruction, Status}; pub struct App<'a> { reader: &'a [u8], diff --git a/components/provisioner-app/Cargo.toml b/components/provisioner-app/Cargo.toml index 51c2c8f5..2a303213 100644 --- a/components/provisioner-app/Cargo.toml +++ b/components/provisioner-app/Cargo.toml @@ -10,9 +10,9 @@ edition = "2018" apdu-app = "0.1" ctaphid-app = "0.1.0-rc.1" delog = "0.1" -heapless = "0.7" -heapless-bytes = "0.3" -iso7816 = "0.1" +heapless = "0.9" +heapless-bytes = "0.5" +iso7816 = "0.2" littlefs2-core = "0.1" salty = { version = "0.3", features = ["cose"] } trussed = { version = "0.1", default-features = false } From 9eeed8a7e8a4e67f8fbb5d7e6a8ff4af486d0e73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Tue, 9 Sep 2025 14:09:42 +0200 Subject: [PATCH 04/13] WIP --- components/provisioner-app/src/apdu.rs | 9 +++++---- components/provisioner-app/src/ctaphid.rs | 8 ++++---- components/provisioner-app/src/lib.rs | 6 +++--- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/components/provisioner-app/src/apdu.rs b/components/provisioner-app/src/apdu.rs index 546f8919..40d40a96 100644 --- a/components/provisioner-app/src/apdu.rs +++ b/components/provisioner-app/src/apdu.rs @@ -1,6 +1,7 @@ use crate::{Error, Provisioner}; -use apdu_app::{App, CommandView, Data, Interface, Result, Status}; +use apdu_app::{App, CommandView, Interface, Result, Status}; use core::convert::{TryFrom, TryInto}; +use heapless::VecView; use iso7816::{Aid, Instruction}; use trussed::{client, store::Store}; @@ -40,7 +41,7 @@ where } } -impl App for Provisioner +impl App for Provisioner where S: Store, T: client::CryptoClient, @@ -49,7 +50,7 @@ where &mut self, _interface: Interface, _apdu: CommandView<'_>, - reply: &mut Data, + reply: &mut VecView, ) -> Result { self.buffer_file_contents.clear(); self.buffer_filename.clear(); @@ -64,7 +65,7 @@ where &mut self, _interface_type: Interface, apdu: CommandView<'_>, - reply: &mut Data, + reply: &mut VecView, ) -> Result { apdu.instruction() .try_into() diff --git a/components/provisioner-app/src/ctaphid.rs b/components/provisioner-app/src/ctaphid.rs index d464b2fd..6e7d1533 100644 --- a/components/provisioner-app/src/ctaphid.rs +++ b/components/provisioner-app/src/ctaphid.rs @@ -1,12 +1,12 @@ use crate::{Instruction, Provisioner}; use core::convert::TryFrom; use ctaphid_app::{App, Command, Error, VendorCommand}; -use heapless_bytes::Bytes; +use heapless_bytes::BytesView; use trussed::{client, store::Store}; const COMMAND_PROVISIONER: VendorCommand = VendorCommand::H71; -impl App<'_, N> for Provisioner +impl App<'_> for Provisioner where S: Store, T: client::CryptoClient, @@ -19,7 +19,7 @@ where &mut self, command: Command, request: &[u8], - response: &mut Bytes, + response: &mut BytesView, ) -> Result<(), Error> { if command != Command::Vendor(COMMAND_PROVISIONER) { return Err(Error::InvalidCommand); @@ -28,7 +28,7 @@ where return Err(Error::InvalidLength); } Instruction::try_from(request[0]) - .and_then(|instruction| self.handle(instruction, &request[1..], response)) + .and_then(|instruction| self.handle(instruction, &request[1..], response.as_mut())) .map_err(|_| Error::InvalidCommand) } } diff --git a/components/provisioner-app/src/lib.rs b/components/provisioner-app/src/lib.rs index 187931e2..36ef73e5 100644 --- a/components/provisioner-app/src/lib.rs +++ b/components/provisioner-app/src/lib.rs @@ -18,7 +18,7 @@ extern crate delog; generate_macros!(); use core::convert::TryFrom; -use heapless::Vec; +use heapless::{Vec, VecView}; use littlefs2_core::{path, Path, PathBuf}; use trussed::{ client, @@ -136,11 +136,11 @@ where } } - fn handle( + fn handle( &mut self, instruction: Instruction, data: &[u8], - reply: &mut Vec, + reply: &mut VecView, ) -> Result<(), Error> { match instruction { Instruction::Select => self.select(data), From 94e43ffeb9669ce6ecfd8b2a0b65f8ed33fb5d06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Tue, 9 Sep 2025 16:16:45 +0200 Subject: [PATCH 05/13] WIP --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9b835e05..1a64ed4b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3715,7 +3715,7 @@ dependencies = [ [[package]] name = "trussed-usbip" version = "0.0.1" -source = "git+https://github.com/trussed-dev/pc-usbip-runner.git?rev=504674453c9573a30aa2f155101df49eb2af1ba7#504674453c9573a30aa2f155101df49eb2af1ba7" +source = "git+https://github.com/trussed-dev/pc-usbip-runner.git?rev=0ff1992f15c273c87e0607384e3dd94d341b721e#0ff1992f15c273c87e0607384e3dd94d341b721e" dependencies = [ "apdu-dispatch", "ctaphid-dispatch", diff --git a/Cargo.toml b/Cargo.toml index 08df024b..2e2bbec3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,7 +25,7 @@ trussed = { git = "https://github.com/trussed-dev/trussed.git", rev = "e6bb61a71 trussed-core = { git = "https://github.com/trussed-dev/trussed.git", rev = "e6bb61a716a3575b3e5d9869a0e1bb1740fe9969" } trussed-manage = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } -trussed-usbip = { git = "https://github.com/trussed-dev/pc-usbip-runner.git", rev = "504674453c9573a30aa2f155101df49eb2af1ba7" } +trussed-usbip = { git = "https://github.com/trussed-dev/pc-usbip-runner.git", rev = "0ff1992f15c273c87e0607384e3dd94d341b721e" } # applications # admin-app = { git = "https://github.com/Nitrokey/admin-app.git", tag = "v0.1.0-nitrokey.20" } From 8e020044d6b799b40947c52af6fa60fbd72b67d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Tue, 9 Sep 2025 16:19:05 +0200 Subject: [PATCH 06/13] WIP --- runners/usbip/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runners/usbip/src/main.rs b/runners/usbip/src/main.rs index 42aab80b..568f72db 100644 --- a/runners/usbip/src/main.rs +++ b/runners/usbip/src/main.rs @@ -202,7 +202,7 @@ fn exec( trussed_usbip::Builder::new(options) .dispatch(Dispatch::with_hw_key( Location::Internal, - Bytes::from_slice(b"Unique hw key").unwrap(), + Bytes::try_from(b"Unique hw key").unwrap(), )) .build::>() .exec(platform, (runner, data)); From f26f98f79f10582c9a1698154369c25dd544428a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Tue, 9 Sep 2025 16:30:50 +0200 Subject: [PATCH 07/13] WIP --- components/apps/Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/apps/Cargo.toml b/components/apps/Cargo.toml index 76e76ec6..345188ed 100644 --- a/components/apps/Cargo.toml +++ b/components/apps/Cargo.toml @@ -14,7 +14,7 @@ heapless-bytes = "0.5" interchange = "0.3" se05x = { version = "0.2.0", optional = true} serde = { version = "1.0.180", default-features = false } -trussed = { version = "0.1", default-features = false, features = ["serde-extensions", "filesystem-client", "ui-client", "all-clients", "shared-secret"] } +trussed = { version = "0.1", default-features = false, features = ["serde-extensions", "filesystem-client", "ui-client", "all-clients", "shared-secret", "crypto-client"] } trussed-core = "0.1.0-rc.1" trussed-usbip = { version = "0.0.1", default-features = false, features = ["ctaphid"], optional = true } usbd-ctaphid = { version = "0.3", optional = true } @@ -64,7 +64,7 @@ nkpk-provisioner = ["nkpk", "provisioner-app"] # apps secrets-app = ["dep:secrets-app", "backend-auth", "trussed/chacha8-poly1305", "trussed/hmac-sha1", "trussed/hmac-sha256", "trussed/sha256"] fido-authenticator = ["dep:fido-authenticator", "usbd-ctaphid", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/hmac-sha256", "trussed/p256", "trussed/sha256"] -opcard = ["dep:opcard", "backend-rsa", "backend-auth", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/p256", "trussed/x255"] +opcard = ["dep:opcard", "backend-rsa", "backend-auth", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/p256", "trussed/x255", "trussed/rsa4096"] piv-authenticator = ["dep:piv-authenticator", "backend-rsa", "backend-auth", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/p256", "trussed/tdes", "trussed/x255"] se050 = ["dep:se05x", "trussed-se050-backend", "trussed-se050-manage", "admin-app/se050"] From f0b698bd0a8ca8dafcd146271a28188fc90754dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Tue, 9 Sep 2025 16:57:15 +0200 Subject: [PATCH 08/13] WIP --- components/apps/Cargo.toml | 3 ++- components/utils/src/version.rs | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/components/apps/Cargo.toml b/components/apps/Cargo.toml index 345188ed..947ba48e 100644 --- a/components/apps/Cargo.toml +++ b/components/apps/Cargo.toml @@ -64,7 +64,7 @@ nkpk-provisioner = ["nkpk", "provisioner-app"] # apps secrets-app = ["dep:secrets-app", "backend-auth", "trussed/chacha8-poly1305", "trussed/hmac-sha1", "trussed/hmac-sha256", "trussed/sha256"] fido-authenticator = ["dep:fido-authenticator", "usbd-ctaphid", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/hmac-sha256", "trussed/p256", "trussed/sha256"] -opcard = ["dep:opcard", "backend-rsa", "backend-auth", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/p256", "trussed/x255", "trussed/rsa4096"] +opcard = ["dep:opcard", "backend-rsa", "backend-auth", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/p256", "trussed/x255"] piv-authenticator = ["dep:piv-authenticator", "backend-rsa", "backend-auth", "trussed/aes256-cbc", "trussed/chacha8-poly1305", "trussed/ed255", "trussed/p256", "trussed/tdes", "trussed/x255"] se050 = ["dep:se05x", "trussed-se050-backend", "trussed-se050-manage", "admin-app/se050"] @@ -81,6 +81,7 @@ log-debug = [] log-trace = [] log-none = [] +trussed-usbip = ["dep:trussed-usbip", "backend-rsa", "trussed-rsa-alloc/raw"] trussed-usbip-ccid = ["trussed-usbip/ccid", "backend-software-hpke"] factory-reset = ["admin-app/factory-reset"] diff --git a/components/utils/src/version.rs b/components/utils/src/version.rs index e1be8331..0cfb6b2d 100644 --- a/components/utils/src/version.rs +++ b/components/utils/src/version.rs @@ -69,6 +69,7 @@ mod tests { quickcheck::quickcheck! { fn test_parse_simple_u8(value: u8) -> bool { + use alloc::to_string::ToString; parse_simple_u8(&value.to_string()) == value } } From 682a7b2308931212c8f64b9149b1bcdbd3647a32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Tue, 9 Sep 2025 17:05:32 +0200 Subject: [PATCH 09/13] WIP --- components/apps/src/lib.rs | 4 ++-- components/provisioner-app/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/apps/src/lib.rs b/components/apps/src/lib.rs index fdb8255d..5f8d8185 100644 --- a/components/apps/src/lib.rs +++ b/components/apps/src/lib.rs @@ -794,9 +794,9 @@ where } #[cfg(feature = "trussed-usbip-ccid")] - fn with_ccid_apps( + fn with_ccid_apps( &mut self, - f: impl FnOnce(&mut [&mut dyn apdu_app::App]) -> T, + f: impl FnOnce(&mut [&mut dyn apdu_app::App]) -> T, ) -> T { self.apdu_dispatch(f) } diff --git a/components/provisioner-app/Cargo.toml b/components/provisioner-app/Cargo.toml index 2a303213..b5efbb9a 100644 --- a/components/provisioner-app/Cargo.toml +++ b/components/provisioner-app/Cargo.toml @@ -15,7 +15,7 @@ heapless-bytes = "0.5" iso7816 = "0.2" littlefs2-core = "0.1" salty = { version = "0.3", features = ["cose"] } -trussed = { version = "0.1", default-features = false } +trussed = { version = "0.1", default-features = false, features = ["crypto-client"] } p256-cortex-m4 = "0.1.0-alpha.6" From c661ed281b0a50fd63e73037d193dc1f51751e40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Tue, 9 Sep 2025 17:06:34 +0200 Subject: [PATCH 10/13] WIP --- components/apps/src/lib.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/components/apps/src/lib.rs b/components/apps/src/lib.rs index 5f8d8185..dd918588 100644 --- a/components/apps/src/lib.rs +++ b/components/apps/src/lib.rs @@ -794,10 +794,7 @@ where } #[cfg(feature = "trussed-usbip-ccid")] - fn with_ccid_apps( - &mut self, - f: impl FnOnce(&mut [&mut dyn apdu_app::App]) -> T, - ) -> T { + fn with_ccid_apps(&mut self, f: impl FnOnce(&mut [&mut dyn apdu_app::App]) -> T) -> T { self.apdu_dispatch(f) } } From c75e91379d086b0a66ae084f0d79047addbac1ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Tue, 9 Sep 2025 17:11:28 +0200 Subject: [PATCH 11/13] WIP --- components/boards/src/init.rs | 12 ++++++++++++ components/boards/src/store.rs | 12 ++++++++++++ runners/embedded/build.rs | 10 ++++------ runners/nkpk/build.rs | 4 ++-- runners/usbip/src/main.rs | 4 ++-- runners/usbip/src/ui.rs | 4 ++-- 6 files changed, 34 insertions(+), 12 deletions(-) diff --git a/components/boards/src/init.rs b/components/boards/src/init.rs index 323d50a9..f30e215f 100644 --- a/components/boards/src/init.rs +++ b/components/boards/src/init.rs @@ -43,6 +43,12 @@ pub struct Resources { pub usb: UsbResources, } +impl Default for Resources { + fn default() -> Self { + Self::new() + } +} + impl Resources { pub const fn new() -> Self { Self { @@ -57,6 +63,12 @@ pub struct UsbResources { usb_bus: Option::UsbBus>>, } +impl Default for UsbResources { + fn default() -> Self { + Self::new() + } +} + impl UsbResources { pub const fn new() -> Self { Self { usb_bus: None } diff --git a/components/boards/src/store.rs b/components/boards/src/store.rs index 6b59062a..ae881cde 100644 --- a/components/boards/src/store.rs +++ b/components/boards/src/store.rs @@ -34,6 +34,12 @@ pub struct StoreResources { volatile: StorageResources, } +impl Default for StoreResources { + fn default() -> Self { + Self::new() + } +} + impl StoreResources { pub const fn new() -> Self { Self { @@ -50,6 +56,12 @@ pub struct StorageResources { storage: MaybeUninit, } +impl Default for StorageResources { + fn default() -> Self { + Self::new() + } +} + impl StorageResources { pub const fn new() -> Self { Self { diff --git a/runners/embedded/build.rs b/runners/embedded/build.rs index 5bcf896a..013f4c7c 100644 --- a/runners/embedded/build.rs +++ b/runners/embedded/build.rs @@ -22,16 +22,14 @@ fn check_build_triplet() -> SocType { if soc_is_lpc55 && !soc_is_nrf52840 { if target != "thumbv8m.main-none-eabi" { panic!( - "Wrong build triplet for LPC55, expecting thumbv8m.main-none-eabi, got {}", - target + "Wrong build triplet for LPC55, expecting thumbv8m.main-none-eabi, got {target}" ); } SocType::Lpc55 } else if soc_is_nrf52840 && !soc_is_lpc55 { if target != "thumbv7em-none-eabihf" { panic!( - "Wrong build triplet for NRF52840, expecting thumbv7em-none-eabihf, got {}", - target + "Wrong build triplet for NRF52840, expecting thumbv7em-none-eabihf, got {target}", ); } SocType::Nrf52840 @@ -78,8 +76,8 @@ fn main() -> Result<(), Box> { SocType::Nrf52840 => ("ld/nrf52", "../ld/nrf52-memory-template.x"), }; - println!("cargo:rerun-if-changed={}", template_file); - println!("cargo:rerun-if-changed={}", template_file); + println!("cargo:rerun-if-changed={template_file}"); + println!("cargo:rerun-if-changed={template_file}"); let memory_x_dir = Path::new(&env::var("CARGO_MANIFEST_DIR").expect("$CARGO_MANIFEST_DIR not set")) diff --git a/runners/nkpk/build.rs b/runners/nkpk/build.rs index ecf9a016..45983650 100644 --- a/runners/nkpk/build.rs +++ b/runners/nkpk/build.rs @@ -37,8 +37,8 @@ fn main() -> Result<(), Box> { // @todo: move this decision into 'profile.cfg' let (memory_x_infix, template_file) = ("ld/nrf52", "../ld/nrf52-memory-template.x"); - println!("cargo:rerun-if-changed={}", template_file); - println!("cargo:rerun-if-changed={}", template_file); + println!("cargo:rerun-if-changed={template_file}"); + println!("cargo:rerun-if-changed={template_file}"); let memory_x_dir = Path::new(&env::var("CARGO_MANIFEST_DIR").expect("$CARGO_MANIFEST_DIR not set")) diff --git a/runners/usbip/src/main.rs b/runners/usbip/src/main.rs index 568f72db..58ca3644 100644 --- a/runners/usbip/src/main.rs +++ b/runners/usbip/src/main.rs @@ -158,7 +158,7 @@ fn print_version() { "provisioner", ]; - print!("{} {}", crate_name, crate_version); + print!("{crate_name} {crate_version}"); if !enabled_features.is_empty() { print!(" ({})", enabled_features.join(", ")); } @@ -202,7 +202,7 @@ fn exec( trussed_usbip::Builder::new(options) .dispatch(Dispatch::with_hw_key( Location::Internal, - Bytes::try_from(b"Unique hw key").unwrap(), + Bytes::from(b"Unique hw key"), )) .build::>() .exec(platform, (runner, data)); diff --git a/runners/usbip/src/ui.rs b/runners/usbip/src/ui.rs index 64e603a8..1d8564f2 100644 --- a/runners/usbip/src/ui.rs +++ b/runners/usbip/src/ui.rs @@ -78,7 +78,7 @@ impl trussed::platform::UserInterface for UserInterface { } fn set_status(&mut self, status: Status) { - info!("Set status: {:?}", status); + info!("Set status: {status:?}"); let is_waiting = status == Status::WaitingForUserPresence; trussed_usbip::set_waiting(is_waiting); @@ -100,7 +100,7 @@ impl trussed::platform::UserInterface for UserInterface { } fn reboot(&mut self, to: reboot::To) -> ! { - info!("Restart! ({:?})", to); + info!("Restart! ({to:?})"); process::exit(25); } } From 44b5b8d1bbf3fb651daf7ff1f1a744ab4f270a31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Thu, 25 Sep 2025 10:49:02 +0200 Subject: [PATCH 12/13] Remove unnecessary patches --- Cargo.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2e2bbec3..5629f66c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,13 +51,11 @@ littlefs2-sys = { git = "https://github.com/trussed-dev/littlefs2-sys", rev = "v se05x = { git = "https://github.com/Nitrokey/se05x.git", branch = "heapless-09" } -iso7816 = { git = "https://github.com/trussed-dev/iso7816.git", branch = "heapless-09" } cbor-smol = { git = "https://github.com/trussed-dev/cbor-smol.git", branch = "heapless-0.9" } cosey = { git = "https://github.com/trussed-dev/cosey.git", branch = "heapless-bytes-0.5" } ctap-types = { git = "https://github.com/trussed-dev/ctap-types", rev = "7509af268b869bd76ab00ddd62a2340764f4551c"} salty = { git = "https://github.com/ycrypto/salty.git", branch = "heapless-updated" } flexiber = { git = "https://github.com/trussed-dev/flexiber.git", branch = "heapless-090" } -heapless-bytes = { git = "https://github.com/trussed-dev/heapless-bytes.git", rev = "b146aa5d614eedba9c294bd4869342bbf29d0eb5" } ctaphid-app = { git = "https://github.com/trussed-dev/ctaphid-dispatch.git", rev = "4a10f787eed868a4d3b6953e7e65cdb764f34001" } ctaphid-dispatch = { git = "https://github.com/trussed-dev/ctaphid-dispatch.git", rev = "4a10f787eed868a4d3b6953e7e65cdb764f34001" } apdu-app = { git = "https://github.com/trussed-dev/apdu-dispatch.git", rev = "fe95252d6dee898e7f2e4fa24736eb3d80aa649b" } From 69b6715d71b339a0395b4aa93406f71193820362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Thu, 25 Sep 2025 11:14:19 +0200 Subject: [PATCH 13/13] Fix se05x version bump --- Cargo.lock | 615 ++++++++++++++++++++--------------- Cargo.toml | 2 +- components/apps/Cargo.toml | 2 +- components/boards/Cargo.toml | 2 +- runners/embedded/Cargo.toml | 2 +- 5 files changed, 348 insertions(+), 275 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1a64ed4b..a1129547 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,12 +55,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_system_properties" version = "0.1.5" @@ -72,9 +66,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.19" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -102,29 +96,29 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.9" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys", + "windows-sys 0.60.2", ] [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "apdu-app" @@ -153,7 +147,7 @@ version = "1.8.2" dependencies = [ "admin-app", "apdu-app", - "bitflags 2.9.1", + "bitflags 2.9.4", "cbor-smol", "ctaphid-app", "delog", @@ -218,7 +212,7 @@ dependencies = [ "rustc-hash 2.1.1", "serde", "serde_derive", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -302,7 +296,7 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cexpr", "clang-sys", "itertools 0.13.0", @@ -311,7 +305,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -328,9 +322,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.1" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "block-buffer" @@ -410,9 +404,9 @@ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "bytemuck" -version = "1.23.1" +version = "1.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" +checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" [[package]] name = "byteorder" @@ -422,11 +416,11 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "camino" -version = "1.1.10" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +checksum = "e1de8bc0aa9e9385ceb3bf0c152e3a9b9544f6c4a912c8ae504e80c1f0368603" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -442,12 +436,12 @@ dependencies = [ "csv", "getopts", "itertools 0.14.0", - "semver 1.0.26", + "semver 1.0.27", "serde", "serde_derive", "serde_json", "spdx", - "toml 0.9.4", + "toml 0.9.7", ] [[package]] @@ -456,7 +450,7 @@ version = "10.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06acb4f71407ba205a07cb453211e0e6a67b21904e47f6ba1f9589e38f2e454" dependencies = [ - "semver 1.0.26", + "semver 1.0.27", "serde", "toml 0.8.23", "url", @@ -486,11 +480,11 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dc1a6f7b5651af85774ae5a34b4e8be397d9cf4bc063b7e6dbd99a841837830" dependencies = [ - "semver 1.0.26", + "semver 1.0.27", "serde", "serde-untagged", "serde-value", - "thiserror 2.0.12", + "thiserror 2.0.16", "toml 0.8.23", "unicode-xid", "url", @@ -504,7 +498,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform 0.1.9", - "semver 1.0.26", + "semver 1.0.27", "serde", "serde_json", "thiserror 1.0.69", @@ -519,10 +513,10 @@ dependencies = [ "camino", "cargo-platform 0.2.0", "cargo-util-schemas", - "semver 1.0.26", + "semver 1.0.27", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -553,10 +547,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.30" +version = "1.2.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7" +checksum = "80f41ae168f955c12fb8960b057d70d0ca153fb83182b57d86380443527be7e9" dependencies = [ + "find-msvc-tools", "shlex", ] @@ -571,9 +566,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "chacha20" @@ -601,14 +596,13 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "num-traits", - "windows-link", + "windows-link 0.2.0", ] [[package]] @@ -644,9 +638,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.41" +version = "4.5.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9" +checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae" dependencies = [ "clap_builder", "clap_derive", @@ -663,9 +657,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.41" +version = "4.5.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d" +checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9" dependencies = [ "anstream", "anstyle", @@ -675,14 +669,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.41" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491" +checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -708,7 +702,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" dependencies = [ - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -738,7 +732,7 @@ dependencies = [ "libc", "once_cell", "unicode-width 0.2.1", - "windows-sys", + "windows-sys 0.59.0", ] [[package]] @@ -980,9 +974,9 @@ dependencies = [ [[package]] name = "delog" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af2b93368262340c9d4441251b824500d1b641a50957ecf4219a2cc41b9eac8f" +checksum = "ed991f9823b19e8a0380e198dcbb6aa6ac82727b40bfecd2c6cc634f46b7e01c" dependencies = [ "log", ] @@ -1006,7 +1000,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1057,7 +1051,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1235,11 +1229,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" +checksum = "259d404d09818dec19332e31d94558aeb442fea04c817006456c24b5460bbd4b" dependencies = [ "serde", + "serde_core", "typeid", ] @@ -1278,6 +1273,12 @@ dependencies = [ "trussed-hkdf", ] +[[package]] +name = "find-msvc-tools" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959" + [[package]] name = "fixed" version = "1.29.0" @@ -1307,7 +1308,7 @@ source = "git+https://github.com/trussed-dev/flexiber.git?branch=heapless-090#83 dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] @@ -1324,9 +1325,9 @@ dependencies = [ [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -1458,9 +1459,9 @@ dependencies = [ [[package]] name = "getopts" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cba6ae63eb948698e300f645f87c70f76630d505f23b8907cf1e193ee85048c1" +checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df" dependencies = [ "unicode-width 0.2.1", ] @@ -1478,9 +1479,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "group" @@ -1555,9 +1556,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.4" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" [[package]] name = "heapless" @@ -1587,10 +1588,11 @@ dependencies = [ [[package]] name = "heapless-bytes" version = "0.5.0" -source = "git+https://github.com/trussed-dev/heapless-bytes.git?rev=b146aa5d614eedba9c294bd4869342bbf29d0eb5#b146aa5d614eedba9c294bd4869342bbf29d0eb5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "774f9dbf3f3a66edc65579e68b9f564ad5ec52e770a755af46b87d40909b8024" dependencies = [ "heapless 0.9.1", - "serde", + "serde_core", ] [[package]] @@ -1649,15 +1651,15 @@ dependencies = [ [[package]] name = "humantime" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] name = "iana-time-zone" -version = "0.1.63" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1765,9 +1767,9 @@ dependencies = [ [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -1786,9 +1788,9 @@ dependencies = [ [[package]] name = "if_chain" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" +checksum = "cd62e6b5e86ea8eeeb8db1de02880a6abc01a397b2ebb64b5d74ac255318f5cb" [[package]] name = "indexmap" @@ -1802,12 +1804,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" dependencies = [ "equivalent", - "hashbrown 0.15.4", + "hashbrown 0.16.0", ] [[package]] @@ -1837,7 +1839,7 @@ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ "hermit-abi", "libc", - "windows-sys", + "windows-sys 0.59.0", ] [[package]] @@ -1849,7 +1851,8 @@ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "iso7816" version = "0.2.0" -source = "git+https://github.com/trussed-dev/iso7816.git?branch=heapless-09#9a18f46ed926bbdddef6ac36ea4e22e9668743a3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b574e1a9ae668e3167a82fe2c62fe629ca60383da01c6f70acb0fb642d9c55f" dependencies = [ "heapless 0.9.1", ] @@ -1880,9 +1883,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" dependencies = [ "once_cell", "wasm-bindgen", @@ -1915,18 +1918,18 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.174" +version = "0.2.176" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" [[package]] name = "libloading" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-link 0.2.0", ] [[package]] @@ -1952,7 +1955,7 @@ name = "littlefs2" version = "0.7.0" source = "git+https://github.com/trussed-dev/littlefs2.git?branch=update-heapless#d5fe3b43a2924dee450cb88158334f8ab10daf6a" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "delog", "generic-array", "heapless 0.9.1", @@ -1965,7 +1968,7 @@ name = "littlefs2-core" version = "0.1.1" source = "git+https://github.com/trussed-dev/littlefs2.git?branch=update-heapless#d5fe3b43a2924dee450cb88158334f8ab10daf6a" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "heapless-bytes", "serde", ] @@ -1991,9 +1994,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.27" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "loom" @@ -2042,11 +2045,11 @@ dependencies = [ [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata", ] [[package]] @@ -2187,12 +2190,11 @@ dependencies = [ [[package]] name = "nu-ansi-term" -version = "0.46.0" +version = "0.50.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" dependencies = [ - "overload", - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -2300,7 +2302,7 @@ source = "git+https://github.com/Nitrokey/opcard-rs?branch=heapless-09#ab34ba0cf dependencies = [ "admin-app", "apdu-app", - "bitflags 2.9.1", + "bitflags 2.9.4", "cbor-smol", "cfg-if", "delog", @@ -2329,12 +2331,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "p256" version = "0.13.2" @@ -2397,9 +2393,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pin-project-lite" @@ -2502,9 +2498,9 @@ checksum = "7c68cb38ed13fd7bc9dd5db8f165b7c8d9c1a315104083a2b10f11354c2af97f" [[package]] name = "potential_utf" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" dependencies = [ "zerovec", ] @@ -2563,9 +2559,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -2648,7 +2644,7 @@ version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", ] [[package]] @@ -2659,47 +2655,32 @@ checksum = "09c30c54dffee5b40af088d5d50aa3455c91a0127164b51f0215efc4cb28fb3c" [[package]] name = "regex" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", + "regex-automata", + "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] name = "rfc6979" @@ -2805,14 +2786,14 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.26", + "semver 1.0.27", ] [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" @@ -2845,11 +2826,11 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "se05x" -version = "0.2.0" -source = "git+https://github.com/Nitrokey/se05x.git?branch=heapless-09#cc1865d18d98a3d8a2f189abbb62406cdfea19a1" +version = "0.3.0" +source = "git+https://github.com/Nitrokey/se05x.git?branch=heapless-09#a871f309dcb75f7ca6141826335bd8ad52be78b8" dependencies = [ "aes", - "bitflags 2.9.1", + "bitflags 2.9.4", "cmac", "crc16", "delog", @@ -2884,7 +2865,7 @@ version = "0.14.0" source = "git+https://github.com/Nitrokey/trussed-secrets-app?rev=459745bd9734c2c75dc35769eb834b16175ca832#459745bd9734c2c75dc35769eb834b16175ca832" dependencies = [ "apdu-app", - "bitflags 2.9.1", + "bitflags 2.9.4", "block-padding", "cbor-smol", "ctaphid-app", @@ -2912,11 +2893,12 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" dependencies = [ "serde", + "serde_core", ] [[package]] @@ -2927,10 +2909,11 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.226" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "0dca6411025b24b60bfa7ec1fe1f8e710ac09782dca409ee8237ba74b51295fd" dependencies = [ + "serde_core", "serde_derive", ] @@ -2951,17 +2934,18 @@ checksum = "fca2da10b1f1623f47130256065e05e94fd7a98dbd26a780a4c5de831b21e5c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "serde-untagged" -version = "0.1.7" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "299d9c19d7d466db4ab10addd5703e4c615dec2a5a16dbbafe191045e87ee66e" +checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" dependencies = [ "erased-serde", "serde", + "serde_core", "typeid", ] @@ -2977,34 +2961,45 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ "serde", + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.226" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba2ba63999edb9dac981fb34b3e5c0d111a69b0924e253ed29d83f7c99e966a4" +dependencies = [ + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.226" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "8db53ae22f34573731bafa1db20f04027b2d25e02d8205921b569171699cdb33" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "serde_json" -version = "1.0.141" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] @@ -3015,7 +3010,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3029,11 +3024,11 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +checksum = "5417783452c2be558477e104686f7de5dae53dba813c28435e0e70f82d9b04ee" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -3116,9 +3111,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -3135,9 +3130,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" @@ -3205,7 +3200,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3240,9 +3235,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.104" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -3257,7 +3252,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3291,11 +3286,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.16", ] [[package]] @@ -3306,18 +3301,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3353,14 +3348,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.4" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ae868b5a0f67631c14589f7e250c1ea2c574ee5ba21c6c8dd4b1485705a5a1" +checksum = "00e5e5d9bf2475ac9d4f0d9edab68cc573dc2fd644b0dba36b0c30a92dd9eaa0" dependencies = [ - "indexmap 2.10.0", - "serde", - "serde_spanned 1.0.0", - "toml_datetime 0.7.0", + "indexmap 2.11.4", + "serde_core", + "serde_spanned 1.0.2", + "toml_datetime 0.7.2", "toml_parser", "toml_writer", "winnow", @@ -3377,11 +3372,11 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +checksum = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -3390,7 +3385,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.11.4", "serde", "serde_spanned 0.6.9", "toml_datetime 0.6.11", @@ -3400,9 +3395,9 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30" +checksum = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627" dependencies = [ "winnow", ] @@ -3415,9 +3410,9 @@ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" [[package]] name = "toml_writer" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" +checksum = "d163a63c116ce562a22cda521fcc4d79152e7aba014456fb5eb442f6d6a10109" [[package]] name = "tracing" @@ -3438,7 +3433,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3464,14 +3459,14 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "regex", + "regex-automata", "sharded-slab", "smallvec", "thread_local", @@ -3486,7 +3481,7 @@ version = "0.1.0" source = "git+https://github.com/trussed-dev/trussed.git?rev=e6bb61a716a3575b3e5d9869a0e1bb1740fe9969#e6bb61a716a3575b3e5d9869a0e1bb1740fe9969" dependencies = [ "aes", - "bitflags 2.9.1", + "bitflags 2.9.4", "cbc", "cbor-smol", "cfg-if", @@ -3638,9 +3633,9 @@ dependencies = [ [[package]] name = "trussed-se050-backend" version = "0.5.0" -source = "git+https://github.com/Nitrokey/trussed-se050-backend.git?branch=heapless-09#053dfc72845bd484b71f64e925d444cae4f6b258" +source = "git+https://github.com/Nitrokey/trussed-se050-backend.git?rev=7db6d28df77b9706fd228ee8b384e1c2b1393f36#7db6d28df77b9706fd228ee8b384e1c2b1393f36" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.4", "cbor-smol", "chacha20poly1305", "crypto-bigint", @@ -3742,22 +3737,22 @@ dependencies = [ [[package]] name = "typed-builder" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce63bcaf7e9806c206f7d7b9c1f38e0dce8bb165a80af0898161058b19248534" +checksum = "fef81aec2ca29576f9f6ae8755108640d0a86dd3161b2e8bca6cfa554e98f77d" dependencies = [ "typed-builder-macro", ] [[package]] name = "typed-builder-macro" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60d8d828da2a3d759d3519cdf29a5bac49c77d039ad36d0782edadbf9cd5415b" +checksum = "1ecb9ecf7799210407c14a8cfdfe0173365780968dc57973ed082211958e0b18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3780,9 +3775,9 @@ checksum = "e87a2ed6b42ec5e28cc3b94c09982969e9227600b2e3dcbc1db927a84c06bd69" [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" [[package]] name = "unicode-width" @@ -3820,13 +3815,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -3917,7 +3913,7 @@ dependencies = [ "littlefs2", "quickcheck", "regex", - "semver 1.0.26", + "semver 1.0.27", ] [[package]] @@ -3961,35 +3957,36 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" dependencies = [ "bumpalo", "log", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3997,57 +3994,35 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" dependencies = [ "unicode-ident", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys", + "windows-sys 0.61.0", ] -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - [[package]] name = "windows" version = "0.48.0" @@ -4059,13 +4034,13 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.61.2" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +checksum = "57fe7168f7de578d2d8a05b07fd61870d2e73b4020e9f49aa00da8471723497c" dependencies = [ "windows-implement", "windows-interface", - "windows-link", + "windows-link 0.2.0", "windows-result", "windows-strings", ] @@ -4078,7 +4053,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4089,7 +4064,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4098,22 +4073,37 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +[[package]] +name = "windows-link" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" + [[package]] name = "windows-result" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +checksum = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" dependencies = [ - "windows-link", + "windows-link 0.2.0", ] [[package]] name = "windows-strings" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +checksum = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" dependencies = [ - "windows-link", + "windows-link 0.2.0", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -4125,6 +4115,24 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.3", +] + +[[package]] +name = "windows-sys" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" +dependencies = [ + "windows-link 0.2.0", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -4149,13 +4157,30 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" +dependencies = [ + "windows-link 0.1.3", + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -4168,6 +4193,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -4180,6 +4211,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -4192,12 +4229,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -4210,6 +4259,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -4222,6 +4277,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -4234,6 +4295,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -4246,11 +4313,17 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winnow" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] @@ -4281,28 +4354,28 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4322,7 +4395,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] @@ -4343,7 +4416,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4359,9 +4432,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke", "zerofrom", @@ -4376,5 +4449,5 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] diff --git a/Cargo.toml b/Cargo.toml index 5629f66c..1c9798a9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,7 +41,7 @@ trussed-auth = { git = "https://github.com/trussed-dev/trussed-auth.git", rev = trussed-auth-backend = { git = "https://github.com/trussed-dev/trussed-auth", rev = "9e07990b78c21704e372df4fd1a6334bef9b1bfa" } trussed-rsa-alloc = { git = "https://github.com/trussed-dev/trussed-rsa-backend.git",branch = "heapless-09" } trussed-rsa-types = { git = "https://github.com/trussed-dev/trussed-rsa-backend.git", branch = "heapless-09" } -trussed-se050-backend = { git = "https://github.com/Nitrokey/trussed-se050-backend.git", branch = "heapless-09" } +trussed-se050-backend = { git = "https://github.com/Nitrokey/trussed-se050-backend.git", rev = "7db6d28df77b9706fd228ee8b384e1c2b1393f36" } trussed-staging = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } trussed-chunked = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } trussed-wrap-key-to-file = { git = "https://github.com/trussed-dev/trussed-staging.git", branch = "heapless-09" } diff --git a/components/apps/Cargo.toml b/components/apps/Cargo.toml index 947ba48e..004627b2 100644 --- a/components/apps/Cargo.toml +++ b/components/apps/Cargo.toml @@ -12,7 +12,7 @@ embedded-hal = "0.2.7" heapless = "0.9" heapless-bytes = "0.5" interchange = "0.3" -se05x = { version = "0.2.0", optional = true} +se05x = { version = "0.3.0", optional = true} serde = { version = "1.0.180", default-features = false } trussed = { version = "0.1", default-features = false, features = ["serde-extensions", "filesystem-client", "ui-client", "all-clients", "shared-secret", "crypto-client"] } trussed-core = "0.1.0-rc.1" diff --git a/components/boards/Cargo.toml b/components/boards/Cargo.toml index bc10c98f..2b858cdc 100644 --- a/components/boards/Cargo.toml +++ b/components/boards/Cargo.toml @@ -50,7 +50,7 @@ cortex-m-semihosting = { version = "0.3.5", optional = true } rtt-target = { version = "0.3", features = ["cortex-m"], optional = true } # se050 -se05x = { version = "0.2.0", optional = true } +se05x = { version = "0.3.0", optional = true } trussed-manage = "0.2.0" diff --git a/runners/embedded/Cargo.toml b/runners/embedded/Cargo.toml index 2f77dc77..3f84dfd4 100644 --- a/runners/embedded/Cargo.toml +++ b/runners/embedded/Cargo.toml @@ -20,7 +20,7 @@ embedded-hal = "0.2.3" littlefs2-core = "0.1" nfc-device = { path = "../../components/nfc-device" } utils = { path = "../../components/utils", features = ["storage"] } -se05x = { version = "0.2.0", optional = true } +se05x = { version = "0.3.0", optional = true } ### protocols and dispatchers apdu-dispatch = "0.3"