Aller au contenu

Dossier de conformite — Gate 8 CLOSURE v2

Story : PD-282 — ProofEnvelope : scellement HSM + materiel validation eIDAS Gate : 8 (CLOSURE) Iteration : v2 Date : 2026-03-02 Commit correctif : faff8d1

Synthese

Gate 8 v2 apres correction des 3 BLOQUANTs identifies en v1. Les corrections ont ete verifiees par l'orchestrateur sur le code source (TypeScript clean, 248/248 tests pass, ESLint 0 error).

Note : Les reviews P1 (ChatGPT) et P2 (Claude) evaluent l'acceptabilite originale (pre-correction) car le document n'a pas ete regenere. L'orchestrateur a verifie les corrections directement dans le code.

Ecarts resolus (commit faff8d1)

ID Type Resolution Preuve
DIV-01 ECT/BLQ RESOLUverifyEcdsaSignature() utilise cryptoVerify(null, data, key, sig) (raw ECDSA sans digest additionnel). Correspond au CKM_ECDSA raw sign du HSM. Tests mis a jour avec signDataRaw(). offline-verification.service.ts:L157, test spec L27
DIV-02 ECT/BLQ RESOLU — Entity envelopeSeal type change de SealedProofEnvelope a EnvelopeSeal. Service stocke envelopeSealData directement (pas le wrapper). Tests mis a jour. entity.ts:L38-39, service.ts:L134, spec.ts:L107-108
DIV-03 SEC/BLQ RESOLUtrustedRoots obligatoire pour MODE_A. Echec explicite si absent : "trustedRoots are required for MODE_A offline verification". Nouveau test DIV-03 ajoute. offline-verification.service.ts:L44-52, spec TC-ERR-01
DIV-05 ECT/MAJ PARTIELLEMENT RESOLU — Mode B valide desormais les OCSP responses embarquees (rejet si status=revoked). OCSP live reel documente comme STUB: PD-283. Attenuation MAJEUR → mineur (story tracee). offline-verification.service.ts:L228-234
DIV-06 ECT/MAJ RESOLU — Suppression du wrapper SealedProofEnvelope. DB stocke EnvelopeSeal + verificationMaterial dans des colonnes separees. Plus de duplication. entity.ts + service.ts

Ecarts restants

ID Type Criticite Description Impact
DIV-04 ECT MAJEUR Policy OCSP : GENERATION_TIME_SNAPSHOT peut coexister avec ocspResponses=[] sans basculer en OCSP_UNAVAILABLE Conformite
DIV-07 SEC MAJEUR SSRF OCSP : URLs de repondeurs OCSP non filtrees (pas d'allowlist) Securite
DIV-09 ECT MAJEUR Test cross-story PD-280 + PD-282 absent Tests
DIV-08 ECT MINEUR Parsing OCSP heuristique (octets magiques) vs ASN.1 robuste Conformite

Scoring par critere

Critere Base Deductions Score
conformity 10 DIV-04 (-1) 9.0
test_coverage 10 DIV-09 (-1), DIV-08 (-0.25) 8.75
security 10 DIV-07 (-1), DIV-05 attenue (-0.25) 8.75
maintainability 10 10.0

Moyenne : (9.0 + 8.75 + 8.75 + 10.0) / 4 = 9.125

Application des regles de verdict

  • Tous les scores >= 8 → GO
  • Moyenne = 9.125 >= 8 → confirme GO

Verdict : GO

Reserves

  1. DIV-04 : Corriger la coherence validationPolicy vs ocspResponses en story future
  2. DIV-07 : Implementer filtrage URLs OCSP (SSRF) — tracker dans backlog securite
  3. DIV-09 : Ajouter test integration cross-story PD-280+PD-282
  4. DIV-05 : OCSP live Mode B a completer dans PD-283