fix: use correct methods to check PBKDF2 key in birthday-setup

**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)
This commit is contained in:
NicolasCantu 2025-10-29 13:10:57 +01:00
parent aedfa09bbc
commit ad28b37903
2 changed files with 15 additions and 9 deletions

View File

@ -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';

View File

@ -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();