Skip to content

Implement setMinPINLength command, minPinLength extension and alwaysUv feature#59

Merged
robin-nitrokey merged 6 commits into
mainfrom
min-pin-length
May 28, 2026
Merged

Implement setMinPINLength command, minPinLength extension and alwaysUv feature#59
robin-nitrokey merged 6 commits into
mainfrom
min-pin-length

Conversation

@robin-nitrokey
Copy link
Copy Markdown
Member

@robin-nitrokey robin-nitrokey commented May 22, 2026

This is cherry-picked from #54.

To do:

  • Fix size for data in authenticator_config
  • Handle new_value === self.min_pin_length() correctly in PersistentState::set_min_pin_length (no error, but also no unnecessary write)
  • Handle forceChangePin in config_set_min_pin_length
  • Don’t reset force_pin_change in PersistentState::set_pin if the hash has not changed
  • Fix PIN length check #43
  • Rename authenticator_config to config ctap-types#79
  • Add tests

To decide:

  • Should we store the PIN length?

Follow-up:

  • review tests
    • forcePinChange after minPinLength change?
  • factory reset
  • alwaysUv in pin_prechecks

cc @0x0ece

@robin-nitrokey robin-nitrokey mentioned this pull request May 22, 2026
@0x0ece
Copy link
Copy Markdown
Contributor

0x0ece commented May 25, 2026

Tasks in ac2443e

After further investigation I agree (and implemented) storing the len.
(I still disagree philosophically but the specs require it and I don't see any ways around it.)

@robin-nitrokey robin-nitrokey changed the title Implement setMinPINLength command and minPinLength extension Implement setMinPINLength command, minPinLength extension and alwaysUv feature May 28, 2026
@robin-nitrokey robin-nitrokey merged commit a7e869b into main May 28, 2026
4 checks passed
@robin-nitrokey robin-nitrokey deleted the min-pin-length branch May 28, 2026 17:31
@robin-nitrokey robin-nitrokey mentioned this pull request May 28, 2026
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants