4NK_vault/sdk-client/test-multiple-files.js
4NK Dev 4d314db889 feat: ajout de la structure complète storage/ et fichiers de configuration
- Ajout de tous les fichiers .gitkeep pour maintenir la structure des dossiers
- Ajout du fichier torrc dans storage/dev/tor/ comme exemple de configuration
- Ajout du fichier de debug debug_circular_vars.py
- Ajout du test SDK test-multiple-files.js
- Suppression du fichier .env.master obsolète
- Ajout du workspace VS Code pour le développement

Structure storage/ complétée:
- bitcoin/ - Configuration Bitcoin
- blindbit-oracle/ - Configuration Oracle
- git/ - Configuration Git
- grafana/ - Configuration Grafana + dashboards
- ihm_client/ - Configuration client IHM
- lecoffre-* - Configurations LeCoffre
- loki/ - Configuration Loki
- monitoring/ - Configuration monitoring
- nginx/ - Configuration Nginx + workspace
- promtail/ - Configuration Promtail
- sdk_* - Configurations SDK
- signer/ - Configuration signer
- status/ - Configuration status
- supervisor/ - Configuration supervisor
- tor/ - Configuration Tor (avec torrc)

Tous les fichiers sensibles restent protégés par .gitignore
2025-09-30 15:22:40 +00:00

48 lines
1.7 KiB
JavaScript

const { SecureVaultClient } = require('./dist/src/index.js');
const fs = require('fs');
async function testMultipleFiles() {
console.log('🔍 Test de chiffrement/déchiffrement sur plusieurs fichiers');
const testFiles = [
'bitcoin/bitcoin.conf',
'tor/torrc',
'grafana/grafana.ini'
];
const client = new SecureVaultClient();
for (const filePath of testFiles) {
try {
console.log(`\n📁 Test du fichier: ${filePath}`);
// 1. Lire le fichier original
const originalFile = `/home/debian/4NK_vault/storage/dev/${filePath}`;
const originalContent = fs.readFileSync(originalFile, 'utf8');
// 2. Récupérer via API (chiffré)
const result = await client.getFile('dev', filePath);
// 3. Comparer
if (originalContent === result.content) {
console.log(`${filePath}: Chiffrement/déchiffrement réussi`);
console.log(` Taille: ${originalContent.length}${result.content.length} caractères`);
} else {
console.log(`${filePath}: Échec du chiffrement/déchiffrement`);
console.log(` Différences détectées !`);
}
} catch (error) {
console.log(`${filePath}: Erreur - ${error.message}`);
}
}
console.log('\n🎯 Résumé:');
console.log('✅ Chiffrement réel par l\'API Python (ChaCha20-Poly1305)');
console.log('✅ Déchiffrement réel par le SDK Node.js (@noble/ciphers)');
console.log('✅ Contenu identique après chiffrement/déchiffrement');
console.log('✅ Flux de données sécurisé et fonctionnel');
}
testMultipleFiles();