Some checks failed
Podman Rootless Demo / test-backend (push) Has been skipped
Podman Rootless Demo / test-frontend (push) Has been skipped
Podman Rootless Demo / build-backend (push) Failing after 1s
Podman Rootless Demo / deploy-prod (push) Has been skipped
Podman Rootless Demo / build-frontend (push) Has been skipped
47 lines
No EOL
1.6 KiB
JavaScript
47 lines
No EOL
1.6 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
// Read the SPF file
|
|
const spfPath = path.join(process.env.HOME, 'sharenet_passport_creator', 'Test.spf');
|
|
const spfData = fs.readFileSync(spfPath);
|
|
|
|
console.log('Testing SPF file parsing with WASM...');
|
|
console.log('File size:', spfData.length, 'bytes');
|
|
|
|
// This would require loading the WASM module in Node.js
|
|
// For now, let's just verify the file structure
|
|
const cbor = require('cbor');
|
|
|
|
try {
|
|
const parsed = cbor.decode(spfData);
|
|
console.log('\n✅ CBOR structure is valid');
|
|
|
|
// Check required fields
|
|
const requiredFields = [
|
|
'enc_seed', 'kdf', 'cipher', 'salt', 'nonce',
|
|
'public_key', 'did', 'univ_id', 'created_at',
|
|
'version', 'enc_user_profiles'
|
|
];
|
|
|
|
const missingFields = requiredFields.filter(field => !(field in parsed));
|
|
|
|
if (missingFields.length > 0) {
|
|
console.log('❌ Missing fields:', missingFields);
|
|
} else {
|
|
console.log('✅ All required fields present');
|
|
console.log('\nField types and sizes:');
|
|
for (const [key, value] of Object.entries(parsed)) {
|
|
if (Array.isArray(value)) {
|
|
console.log(` ${key}: array[${value.length}]`);
|
|
} else if (typeof value === 'string') {
|
|
console.log(` ${key}: string("${value}")`);
|
|
} else if (typeof value === 'number') {
|
|
console.log(` ${key}: number(${value})`);
|
|
} else {
|
|
console.log(` ${key}: ${typeof value}`);
|
|
}
|
|
}
|
|
}
|
|
} catch (error) {
|
|
console.log('❌ Failed to parse CBOR:', error.message);
|
|
} |