DOSSIER SOS PREUVE 1ad4ddf9

(Sur un téléphone, ouvrez plutôt LISEZ-MOI.html : même texte, lisible.)

Ce que contient cette archive :

  dossier-1ad4ddf9.pdf        Le document à transmettre. Il présente chaque élément,
                              la date constatée par nos serveurs, et l'empreinte
                              numérique de chaque fichier.

  fichiers/                   Vos 5 fichiers, exactement tels qu'ils ont été
                              reçus et scellés. Aucun n'a été retouché, recompressé
                              ni renommé dans son contenu.

  sceaux/                     Les preuves de date délivrées par un tiers indépendant,
                              une par élément, une pour l'ensemble du dossier et une
                              pour le document PDF lui-même.

  manifeste.txt               La liste des empreintes, exactement telle qu'elle a été
                              datée. C'est ce fichier-là que le tiers a scellé.

  journal.jsonl               Le journal du dossier, un événement par ligne, dans la
                              forme exacte qui a été hachée pour chaîner les maillons.
                              Dans ces lignes, « stockage » désigne l'emplacement du fichier
                              chiffré chez l'hébergeur, jamais une clé de chiffrement.

  certificats-horodateur.pem  Les certificats du tiers qui a signé les preuves de date.
                              C'est le fichier à donner à openssl pour les vérifier.

  revocations-horodateur.pem  Les listes de révocation du tiers au jour du sceau, pour
                              qui veut aussi contrôler qu'aucun certificat n'était révoqué.

  verifier.sh, verifier.bat   Enchaînent les contrôles décrits plus bas et affichent
                              une ligne par résultat (verifier.bat lance verifier.ps1).

Que faire de tout ça :

  - Rangez cette archive ailleurs que sur votre téléphone.
  - Pour faire valoir vos droits, transmettez le PDF : il se suffit à lui-même
    pour expliquer ce qui a été constaté et quand.
  - Gardez les fichiers d'origine à côté : ce sont eux dont le dossier prouve
    la date et l'intégrité.

Vérifier sans nous :

  Le plus simple : sh verifier.sh (macOS, Linux) ou un double clic sur verifier.bat
  (Windows). Le script enchaîne les contrôles ci-dessous sans rien envoyer nulle
  part et affiche une ligne par résultat. Il n'est pas la preuve : les empreintes
  qu'il attend doivent être celles du PDF scellé. À la main :

  1. L'empreinte d'un de vos fichiers, à retrouver dans le PDF et dans
     manifeste.txt :

         sha256sum fichiers/<nom>          (macOS : shasum -a 256 fichiers/<nom>)

  2. L'empreinte du manifeste, qui doit être celle que le tiers a datée —
     elle est imprimée dans le PDF sous « Empreinte SHA-256 attendue » :

         sha256sum manifeste.txt

  3. Les jetons, contre les certificats du tiers, avec un outil RFC 3161
     standard. La réponse attendue est « Verification: OK » :

         openssl ts -verify -token_in -in sceaux/<nom>-sceau.tsr -data fichiers/<nom>.<ext> \
                    -CAfile certificats-horodateur.pem

     Le jeton du manifeste se vérifie de même : -in sceaux/dossier-1ad4ddf9-manifeste.tsr
     et -data manifeste.txt. (« openssl ts -reply -text » ne fait que lire un jeton :
     il affiche « Granted » même sur un sceau contrefait, ce n'est pas une vérification.)
     Le jeton du document (sceaux/dossier-1ad4ddf9-document.tsr) porte sur les octets du
     PDF hors l'emplacement du sceau : verifier.sh les recompose, avec les plages exactes
     inscrites dedans, et remplace -data par -digest <empreinte de ces octets>.
     Si l'outil répond « certificate has expired », c'est normal après le
     11 septembre 2027 : il contrôle le certificat à la date du jour au lieu de la
     date du sceau. Ajoutez -attime 1788340924, la date du sceau en secondes Unix.

  4. Le journal : le maillon d'un événement est le SHA-256, en hexadécimal, de
     la concaténation du maillon précédent (64 caractères hexadécimaux, en texte)
     et de sa ligne ; le premier maillon précédent vaut soixante-quatre zéros.
     Les maillons sont imprimés dans l'annexe du PDF, et le manifeste scellé
     nomme celui où il s'arrête (jusquAuMaillon) :

         m=$(printf '%064d' 0); while IFS= read -r l; do \
           m=$(printf '%s%s' "$m" "$l" | sha256sum | cut -c1-64); echo "$m"; done < journal.jsonl

  5. Le document PDF lui-même porte son propre horodatage ; verifier.sh le
     contrôle comme les autres jetons.
     Pour le voir dans un lecteur : Adobe Acrobat Reader, gratuit, sur ordinateur
     comme sur téléphone (l'aperçu intégré d'un téléphone n'affiche pas les
     signatures), ou tout lecteur qui lit les signatures : le panneau des signatures
     vérifie qu'il n'a pas été modifié depuis sa remise. Le validateur DSS de la
     Commission européenne (ec.europa.eu/digital-building-blocks) le contrôle contre
     la liste de confiance eIDAS ; sospreuve.fr/verifier le fait dans votre navigateur,
     tant que le service existe, sans que le fichier le quitte.

  La dernière page du PDF donne la marche à suivre complète. Rien de tout cela
  ne dépend de SOS Preuve : votre preuve reste vérifiable même si le service
  n'existe plus.