Changes: Add an isolated pinned mechanism wrapper using Stanza's public constructor and factory APIs, preserve the SCRAM-SHA-512 wire name and fail-closed final guard, and document the proposed ADR, browser bundle evidence, independent Scramp vectors, notices and limits. Leave parent selection, dependency experiments, specs and shared contracts unchanged. Validation: Fresh-cache npm ci and Vite browser build pass; 87 focused tests pass, including RFC HMAC vectors, original defect reproduction, independent full SHA-512 exchanges and rejected invalid finals/order/reset paths. Hashed Scramp oracle fixture comparison passes. Dependency check verifies 49 locked entries, 25 installed pins/licenses and 340 unmodified Stanza files. make check passes 72 tooling tests. Native browsers, WSS/live server interoperability and production readiness are untested; independent security review remains pending. Task: S00-019 Agent: auto-crypto-c68801170fa4 Role: crypto Action: claim Status: review Task title: Validate browser-compatible SCRAM-SHA-512 through a public mechanism API
11 lines
476 B
JavaScript
11 lines
476 B
JavaScript
import client from 'stanza/Client.js';
|
|
import jxt from 'stanza/jxt/index.js';
|
|
import platform from 'stanza/platform';
|
|
import sasl from 'stanza/lib/sasl/index.js';
|
|
export {default as validatedSasl} from './validated-sasl.mjs';
|
|
export {Sha512Mechanism} from './sha512-mechanism.mjs';
|
|
export const Client = client.default;
|
|
export const parse = jxt.parse;
|
|
export const {Buffer, createHash, createHmac, name: backend, randomBytes} = platform;
|
|
export const StockScram = sasl.SCRAM;
|