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 <noreply@anthropic.com>
This commit is contained in:
+14
-2
@@ -1884,9 +1884,21 @@ begin
|
|||||||
// Pas d'ETag : rien n'a ete publie. Le cache s'ecrit quand meme, sinon
|
// Pas d'ETag : rien n'a ete publie. Le cache s'ecrit quand meme, sinon
|
||||||
// la prochaine ouverture redemanderait six secondes de derivation pour
|
// la prochaine ouverture redemanderait six secondes de derivation pour
|
||||||
// un coffre vide.
|
// 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);
|
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,
|
TThread.Queue(nil,
|
||||||
procedure
|
procedure
|
||||||
begin
|
begin
|
||||||
|
|||||||
Reference in New Issue
Block a user