fix(keys): new passwords have at least 12 characters
The register can't check a password it never sees, and should its database leak, the verifier and the keys wrapped under the password fall to guessing at Argon2id's cost (the second reading's M8). Devices now refuse a new password shorter than 12 characters, counted as code points once normalised (halkyon_keys' checkNewPassword), at sign-up, a reset keeping the keys and a change alike, before anything is derived; the new password's field says so, and the refusal has its own text (en, de). Signing in takes any length, so a password set before keeps working. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
dab2c80524
commit
b33b99a50a
1 changed files with 216 additions and 29 deletions
|
|
@ -432,5 +432,21 @@
|
|||
"passwordInstanceUnproven": "The instance couldn't prove it knows your password, so this device trusts nothing it says. Try again; if it happens again, the instance isn't the one it claims to be.",
|
||||
"passwordKeysMissing": "Your account's keys aren't on this device. Sign out and in again with your password here.",
|
||||
"passwordUnsafeCosts": "The instance asked for your password to be checked in a way no account uses, so nothing was sent. If it happens again, the instance isn't the one it claims to be.",
|
||||
"passwordFailed": "Couldn't reach the instance. Check the connection and try again."
|
||||
"passwordFailed": "Couldn't reach the instance. Check the connection and try again.",
|
||||
"passwordMinLength": "At least {count} characters",
|
||||
"@passwordMinLength": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"passwordTooShort": "A new password needs at least {count} characters: should the instance's database ever leak, a short one is guessed first.",
|
||||
"@passwordTooShort": {
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue