feat(keys): passwords taken as RFC 8265's OpaqueString
Other spaces become a plain space and the text is composed (NFC) before Argon2id, so a password typed on another system, accents composed or not, unlocks the same keys; empty passwords and control characters are refused. The normalisation (unorm_dart) is pinned exactly, as it must never change once an account exists. ADR 0017 records both decisions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
7ad0f92f23
commit
200a2df32f
1 changed files with 140 additions and 3 deletions
|
|
@ -21,6 +21,9 @@ dependencies:
|
|||
# which replaced sodium_libs's prebuilt binaries. 4.1.0+1, as 4.1.1 on needs
|
||||
# code_assets 2, which Learn's mecab_for_dart (2.0.5) doesn't allow yet.
|
||||
sodium: 4.1.0+1
|
||||
# Unicode NFC for passwords (RFC 8265's OpaqueString), pinned exactly: a
|
||||
# password's normalisation must never change once an account exists.
|
||||
unorm_dart: 0.3.3
|
||||
|
||||
dev_dependencies:
|
||||
test: ^1.31.1
|
||||
|
|
|
|||
Loading…
Reference in a new issue