From ad28b379034213bb534cc96b5790e6d172fdf63f Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Wed, 29 Oct 2025 13:10:57 +0100 Subject: [PATCH] fix: use correct methods to check PBKDF2 key in birthday-setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Motivations :** - birthday-setup.ts utilisait getPBKDF2Key() qui n'existe pas dans SecureCredentialsService - wallet-setup.ts trouve la clé PBKDF2 mais birthday-setup.ts ne la trouve pas - Il faut utiliser les mêmes méthodes que wallet-setup.ts (hasPBKDF2Key + retrievePBKDF2Key) **Modifications :** - Remplacement de getPBKDF2Key() par hasPBKDF2Key() puis retrievePBKDF2Key() - Utilisation de la même approche que wallet-setup.ts pour vérifier la clé PBKDF2 - Ajout du mode 'otp' à la liste des modes de sécurité pour correspondre à wallet-setup.ts - Amélioration des messages de log pour indiquer explicitement la vérification dans le store pbkdf2keys **Pages affectées :** - src/pages/birthday-setup/birthday-setup.ts (correction de la vérification PBKDF2) --- src/pages/birthday-setup/birthday-setup.ts | 22 ++++++++++++++-------- src/pages/wallet-setup/wallet-setup.ts | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/pages/birthday-setup/birthday-setup.ts b/src/pages/birthday-setup/birthday-setup.ts index 013097d..c9ba7fe 100644 --- a/src/pages/birthday-setup/birthday-setup.ts +++ b/src/pages/birthday-setup/birthday-setup.ts @@ -36,27 +36,33 @@ document.addEventListener('DOMContentLoaded', async () => { updateStatus('🔍 Vérification des prérequis...', 'loading'); updateProgress(20); - // Vérifier que le PBKDF2 key existe d'abord (prérequis le plus basique) + // Vérifier que le PBKDF2 key existe d'abord (prérequis le plus basique) dans le store pbkdf2keys const { SecureCredentialsService } = await import('../../services/secure-credentials.service'); const secureCredentials = SecureCredentialsService.getInstance(); let pbkdf2KeyFound = false; - const securityModes = ['none', 'password', 'os', 'proton-pass']; + const securityModes = ['none', 'otp', 'password', 'os', 'proton-pass']; for (const mode of securityModes) { try { - const key = await secureCredentials.getPBKDF2Key(mode); - if (key) { - pbkdf2KeyFound = true; - console.log(`✅ PBKDF2 key found for security mode: ${mode}`); - break; + // Vérifier d'abord silencieusement si une clé existe dans le store pbkdf2keys + const hasKey = await secureCredentials.hasPBKDF2Key(mode as any); + if (hasKey) { + // Si une clé existe, essayer de la récupérer + const key = await secureCredentials.retrievePBKDF2Key(mode as any); + if (key) { + pbkdf2KeyFound = true; + console.log(`✅ PBKDF2 key found in pbkdf2keys store for security mode: ${mode}`); + break; + } } } catch (error) { // Continue to next mode + console.log(`⚠️ No PBKDF2 key found in pbkdf2keys store for mode ${mode}`); } } if (!pbkdf2KeyFound) { - console.log('⚠️ PBKDF2 key not found, redirecting to security-setup...'); + console.log('⚠️ PBKDF2 key not found in pbkdf2keys store, redirecting to security-setup...'); updateStatus('⚠️ Redirection vers la configuration de sécurité...', 'loading'); setTimeout(() => { window.location.href = '/src/pages/security-setup/security-setup.html'; diff --git a/src/pages/wallet-setup/wallet-setup.ts b/src/pages/wallet-setup/wallet-setup.ts index 357cd41..93bc616 100644 --- a/src/pages/wallet-setup/wallet-setup.ts +++ b/src/pages/wallet-setup/wallet-setup.ts @@ -114,7 +114,7 @@ document.addEventListener('DOMContentLoaded', async () => { // Les credentials et clé PBKDF2 doivent être créés dans security-setup // On vérifie que la clé PBKDF2 existe dans le store pbkdf2keys console.log('🔐 Checking for existing PBKDF2 key in pbkdf2keys store...'); - + const { SecureCredentialsService } = await import('../../services/secure-credentials.service'); const secureCredentialsService = SecureCredentialsService.getInstance();