diff --git a/CHANGELOG.md b/CHANGELOG.md index fd1f9b7d6..bf63360f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# Unreleased + +### Features + +- fido-authenticator: Implement the largeBlobKey extension and the largeBlobs command ([fido-authenticator#38][]) + +[fido-authenticator#38]: https://github.com/Nitrokey/fido-authenticator/issues/38 + # 1.6.0-rc.1 (2023-11-10) ### Features diff --git a/Cargo.lock b/Cargo.lock index 24b63f7a0..752ed1ed4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -830,7 +830,7 @@ dependencies = [ [[package]] name = "ctap-types" version = "0.1.2" -source = "git+https://github.com/Nitrokey/ctap-types?tag=v0.1.2-nitrokey.4#702b5b5248f88091b22c46c936cb0f99425c0a61" +source = "git+https://github.com/trussed-dev/ctap-types.git?rev=785bcc52720ce2e2054ae32034a2a24c500e1043#785bcc52720ce2e2054ae32034a2a24c500e1043" dependencies = [ "bitflags 1.3.2", "cbor-smol", @@ -1175,7 +1175,7 @@ dependencies = [ [[package]] name = "fido-authenticator" version = "0.1.1" -source = "git+https://github.com/Nitrokey/fido-authenticator.git?tag=v0.1.1-nitrokey.8#f4cf88ae9e32c6da587fa87a67ea1522fbd80cb6" +source = "git+https://github.com/Nitrokey/fido-authenticator.git?branch=large-blobs#681d73095b790314003459136e06acb1e8ec689b" dependencies = [ "apdu-dispatch", "ctap-types", diff --git a/Cargo.toml b/Cargo.toml index e2ee896ec..77b3f622c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,14 +13,14 @@ version = "1.6.0-rc.1" [patch.crates-io] # forked admin-app = { git = "https://github.com/Nitrokey/admin-app", tag = "v0.1.0-nitrokey.6" } -ctap-types = { git = "https://github.com/Nitrokey/ctap-types", tag = "v0.1.2-nitrokey.4" } -fido-authenticator = { git = "https://github.com/Nitrokey/fido-authenticator.git", tag = "v0.1.1-nitrokey.8" } +fido-authenticator = { git = "https://github.com/Nitrokey/fido-authenticator.git", branch = "large-blobs" } flexiber = { git = "https://github.com/Nitrokey/flexiber", tag = "0.1.1.nitrokey" } lpc55-hal = { git = "https://github.com/Nitrokey/lpc55-hal", tag = "v0.3.0-nitrokey.2" } serde-indexed = { git = "https://github.com/nitrokey/serde-indexed.git", tag = "v0.1.0-nitrokey.2" } # unreleased upstream changes apdu-dispatch = { git = "https://github.com/Nitrokey/apdu-dispatch.git", tag = "v0.1.2-nitrokey.2" } +ctap-types = { git = "https://github.com/trussed-dev/ctap-types.git", rev = "785bcc52720ce2e2054ae32034a2a24c500e1043" } ctaphid-dispatch = { git = "https://github.com/Nitrokey/ctaphid-dispatch.git", tag = "v0.1.1-nitrokey.3" } iso7816 = { git = "https://github.com/Nitrokey/iso7816.git", tag = "v0.1.1-nitrokey.2"} trussed = { git = "https://github.com/Nitrokey/trussed.git", rev = "v0.1.0-nitrokey.14" } diff --git a/components/apps/Cargo.toml b/components/apps/Cargo.toml index af2f57904..080055cec 100644 --- a/components/apps/Cargo.toml +++ b/components/apps/Cargo.toml @@ -19,7 +19,7 @@ trussed-staging = { version = "0.1.0", features = ["wrap-key-to-file", "chunked" # apps admin-app = "0.1.0" -fido-authenticator = { version = "0.1.1", features = ["dispatch"], optional = true } +fido-authenticator = { version = "0.1.1", features = ["dispatch", "log-all"], optional = true } ndef-app = { path = "../ndef-app", optional = true } webcrypt = { version = "0.8.0", optional = true } secrets-app = { version = "0.13.0", features = ["apdu-dispatch", "ctaphid"], optional = true } diff --git a/components/apps/src/lib.rs b/components/apps/src/lib.rs index ee671a720..844c2af8b 100644 --- a/components/apps/src/lib.rs +++ b/components/apps/src/lib.rs @@ -451,6 +451,11 @@ impl App for FidoApp { max_msg_size: usbd_ctaphid::constants::MESSAGE_SIZE, skip_up_timeout, max_resident_credential_count: Some(10), + // TODO: only enable if EFS is available + large_blobs: Some(fido_authenticator::LargeBlobsConfig { + location: Location::External, + max_size: 1024, + }), }, ) }