From 494efddb445fd3af5ad1a423d07c313812fe323f Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Fri, 28 Aug 2026 16:14:54 +0100 Subject: [PATCH] feat(android): le mot de passe de creation ouvre le coffre Il ne servait qu'une fois, a la creation : le cache s'ouvrait ensuite sans rien demander, et n'importe qui tenant le telephone deverrouille lisait le coffre. Il est desormais pose comme code de deverrouillage - c'est exactement ce que ce format sait faire, et il accepte un mot de passe entier aussi bien que des chiffres depuis qu'on a retire le clavier numerique. Le cache porte donc VER_PIN, la seule forme qui survive aussi a une reinitialisation du verrouillage d'ecran. Retirable en deux appuis depuis les reglages, pour qui prefere l'ouverture immediate. Co-Authored-By: Claude Opus 5 --- mainApk.pas | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/mainApk.pas b/mainApk.pas index 47d956f..ca00a3b 100644 --- a/mainApk.pas +++ b/mainApk.pas @@ -1884,9 +1884,21 @@ begin // Pas d'ETag : rien n'a ete publie. Le cache s'ecrit quand meme, sinon // la prochaine ouverture redemanderait six secondes de derivation pour // un coffre vide. - SaveVault(LPlain, '', APwd, BiometricAvailable, False, FPin, + // LE MOT DE PASSE DE CREATION OUVRE LE COFFRE, et c'est le sens qu'on + // attend de lui. Sans cela le cache s'ouvrait sans rien demander : le + // mot de passe ne servait qu'une fois, a la creation, et n'importe qui + // tenant le telephone deverrouille lisait le coffre ensuite. + // + // On le pose donc comme code de deverrouillage - c'est exactement ce + // que ce format sait faire, et il accepte un mot de passe entier aussi + // bien que des chiffres. ARequireAuth a FAUX : les deux protections + // s'excluent, un cache scelle par un code porte VER_PIN. + // + // Il reste retirable en deux appuis depuis les reglages, pour qui + // prefere l'ouverture immediate. + SaveVault(LPlain, '', APwd, False, False, APwd, FKey, FKeySalt, FKeyIters); - FPinSealed := FPin; // coffre neuf : ce code est desormais le sien + FPinSealed := APwd; // coffre neuf : ce mot de passe est desormais le sien TThread.Queue(nil, procedure begin