15 lines
1.3 KiB
JavaScript
15 lines
1.3 KiB
JavaScript
// Controlul negativ al identitatii constructorului (credential.test.mjs), prin mecanismul comun din _control.mjs: fiecare paznic
|
|
// scos intr-o copie trebuie sa inroseasca exact proba lui.
|
|
// node aerenew/tools/proof-of-software/test/credential-control-negativ.mjs
|
|
import { controleaza } from './_control.mjs';
|
|
|
|
process.exitCode = await controleaza('credential.test.mjs', [
|
|
['radacina de incredere nu se mai compara', "keyId(publicKeysOf(trustIssuer)) === keyId(b.issuer && b.issuer.keys)", 'true', '2. CONTROL'],
|
|
['semnatarul acreditarii nu mai trebuie sa fie emitentul numit', 'sv.valid && semnatarEmitent,', 'sv.valid,', '6. CONTROL'],
|
|
['cheile subiectului nu se mai compara cu semnatarul declaratiei', "!!att.signature && keyId(publicKeysOf(att.signature)) === keyId(b.subject && b.subject.keys)", '!!att.signature', '7. CONTROL'],
|
|
['valabilitatea nu se mai judeca', 'Date.parse(t) >= Date.parse(b.validFrom) && Date.parse(t) <= Date.parse(b.validUntil)', 'true', '8. CONTROL'],
|
|
['revocarile emitentului se ignora', 'if (rb.credential !== want) continue;', 'continue;', '9. revocarea'],
|
|
['timpul lantului se ignora (bate data declarata)', 'const t = chainTime || att.statement.createdAt;', 'const t = att.statement.createdAt;', '10. timpul'],
|
|
['data declarata achita din nou (B-18)', 'const declarat = !chainTime;', 'const declarat = false;', '12. B-18'],
|
|
]);
|