{"id":"c0960","filename":"c0960_wasm_bunkerseal_fix.dok.json","weise3_id":"","tip":"fix","naziv":"WASM BunkerSeal™ fix — Ed25519 msgBytes + genesis_auth_core_bg.wasm deploy","kreator":"genesis","datum":"2026-05-18","snippet":"","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"fix","naziv":"WASM BunkerSeal™ fix — Ed25519 msgBytes + genesis_auth_core_bg.wasm deploy","datum":"2026-05-18","sto_treba":"Browser WASM test padao na 2 mjesta","uzrok":{"bug1_bunkerseal":"verifySeal() koristio new TextEncoder().encode(seal.sadrzaj_hash) — 64 UTF-8 bajta hex stringa. Python potpisuje bytes.fromhex(sadrzaj_hash) = 32 raw SHA3-256 bajta. Ed25519 verify uvijek pao.","bug2_wasm_import":"WebAssembly.instantiate(wasmBytes, {}) s praznim imports paketom. wasm-pack --target web generira WASM koji zahtijeva './genesis_auth_core_bg.js' imports objekt. genesis_auth_core_bg.wasm nedostajao u static/."},"fix":{"genesis_auth_wasm_js":["verifySeal(): msgBytes = hexToBytes(seal.sadrzaj_hash) umjesto TextEncoder","loadWasm(): zamijenjen direktni WebAssembly.instantiate s: compile(bytes) + import(CORE_JS_URL) + coreModule.default(wasmCompiled)","_getCoreModule(): reuse _wasmModule ako je već inicijaliziran"],"wasm_test_html":["Test 1 BunkerSeal: msgBytes = hexToBytes(seal.sadrzaj_hash)","Test 1 WASM init: WebAssembly.compile + dynamic import + coreModule.default(wasmCompiled)","Test 6 tamper: hexToBytes(fakeHash)"],"static_deploy":"genesis_auth_core_bg.wasm kopiran u /var/www/genesis/static/ — wasm-pack init() traži taj fajl via import.meta.url"},"dokaz":{"python_verify":"Ed25519PublicKey.verify(sig, bytes.fromhex(hash)) PROŠAO","sha3_match":"99590c2493d6599dec18bf4e6e966e60dfcf87ddc8bfef6f391c376d1c677758","http_status":"svi 6 static fajlova: 200 OK"},"zakon_veze":["ZAKON 37 — FenixVault + Folija","ZAKON 40 — GenesisLogin WASM provider"]}}