Skip to main content

Module electronic_signature_provider

Module electronic_signature_provider 

Source
Expand description

Port ElectronicSignatureProvider — Story 4.4 (ADR-0014).

Le domaine connaît la signature électronique qualifiée (domain::plateforme::QualifiedSignature) ; il ne connaît ni FAS (eID belge), ni itsme, ni Universign. Ce port est le seul point de contact entre l’application et ces trois prestataires — trois aujourd’hui, un quatrième probable demain (ADR-0014 §4).

§Contrat en deux temps

request_signature envoie le document et rend une référence prestataire plus le condensat HMAC-SHA256 calculé avant l’envoi (AC @security). fetch_signature interroge le prestataire et vérifie que le condensat qu’il rend correspond à celui calculé à l’aller — sans cette vérification, on signerait la parole du prestataire sur ce qu’il a reçu, et non le document envoyé.

§Persistance de l’audit

Ce port ne persiste rien lui-même : chaque QualifiedSignature rendue par fetch_signature, ainsi que chaque échec typé, sont destinés à AuditLogRepository (cf. application::ports::audit_log_repository) — câblage laissé au use-case appelant. Hors périmètre de cette story (Files listés dans l’issue #579 : port + 3 adapters + tests d’intégration).

Structs§

ElectronicSignatureProviderRegistry
Détient les adaptateurs enregistrés, un par SignatureProviderKind, et résout lequel solliciter.
SignatureRequest
Ce qui part vers le prestataire.
SignatureRequestAck
Accusé de réception d’une demande de signature.

Enums§

SignatureProviderError
Erreurs typées du port — jamais de Result<_, String> (CRITICAL.md #4). Cluster coord Story 4.4 : NEW → AppError natif — le bridge vers AppError se fera au use-case appelant, hors périmètre de cette story.

Traits§

ElectronicSignatureProvider
Port hexagonal vers un prestataire de signature électronique qualifiée.