Guide pas à pas

Comment vérifier un paquet de preuves ProofSnap

En 2026, chacun peut vérifier un paquet de preuves ProofSnap de trois façons : dans le panneau latéral ProofSnap, dans le Vérificateur de confiance gratuit sur getproofsnap.com ou avec les scripts verify.sh et verify.ps1 du ZIP. Chaque méthode recalcule le hash SHA-256 de chaque fichier, vérifie la signature RSA de manifest.json et affiche les horodatages du paquet.

Fonctionne pour

Paquets web, vidéo, session et fichiers

Trois méthodes

Panneau latéral, site web, scripts

Compte

Non requis sur le site web

Par Radim Motycka, fondateur et ingénieur principal de ProofSnap, qui développe le vérificateur et les scripts de vérification

Ce que prouve une vérification réussie

Vérifier un paquet de preuves ProofSnap répond à trois questions distinctes :

  1. Intégrité : chaque fichier correspond toujours à l'empreinte (hash) SHA-256 enregistrée dans manifest.json.
  2. Cohérence : la signature RSA de manifest.sig correspond au manifeste ; la liste des empreintes n'a donc pas été modifiée non plus.
  3. Date : une preuve OpenTimestamps montre que le manifeste existait au plus tard à la date d'un bloc Bitcoin donné. Un horodatage qualifié UE de Disig a.s., prestataire de services de confiance qualifié inscrit sur la liste de confiance de l'UE, montre qu'il existait au plus tard à la date et à l'heure indiquées.

« The TSA's role is to time-stamp a datum to establish evidence indicating that a datum existed before a particular time. »

Traduction : le rôle de la TSA (autorité d'horodatage) est d'horodater une donnée afin d'établir des éléments de preuve indiquant que cette donnée existait avant un moment donné.

IETF RFC 3161, Time-Stamp Protocol, section 1 (2001)

La signature ne prouve que l'intégrité, car sa clé est générée à l'intérieur du paquet ; ce sont les horodatages qui montrent que le paquet existait au plus tard à une date donnée. Les scripts verify.sh et verify.ps1 effectuent les quatre mêmes contrôles (intégrité des fichiers, signature du manifeste, jeton eIDAS, ancrage Bitcoin) et renvoient l'un des trois codes de sortie suivants : 0 pour PASS, 1 pour FAIL et 2 pour INCOMPLETE.

Les trois méthodes comparées

Le vérificateur du panneau latéral lit des paquets jusqu'à environ 1,8 Go, et la mémoire du navigateur peut manquer dès environ 900 Mo. Pour des paquets plus volumineux, utilisez verify.sh ou verify.ps1, qui vérifient les paquets de toute taille, fichier par fichier.

A : panneau latéralB : site webC : scripts du ZIP
Qui l'utiliseVous, avant l'envoiTout destinataire du paquetUn expert sur son propre ordinateur
Compte ProofSnapObligatoireNon requisNon requis
Fonctionne surChrome ou Edge avec ProofSnapTout navigateur récentmacOS, Linux, Windows
Recours aux serveurs ProofSnapPour les deux contrôles d'horodatagePour les deux contrôles d'horodatageNon
Vidéos volumineusesJusqu'à environ 1,8 GoLimitées par la mémoire du navigateurSans limite de taille

Étape 1, pour tous

Travaillez sur le ZIP d'origine

Chacune des méthodes ci-dessous vérifie le ZIP exactement tel que ProofSnap l'a produit, qu'il contienne une capture web, une vidéo, une session multi-onglets ou une certification de fichier. C'est aussi ce ZIP que vous communiquerez à la partie adverse ou à votre avocat, et que vous produirez en justice. Ne touchez pas à l'original et travaillez sur des copies. Le contenu de chaque fichier est expliqué dans le guide Lire un paquet de preuves.

  1. 1Le ZIP. Renommer le fichier ZIP lui-même est sans conséquence : les contrôles portent sur les fichiers qu'il contient. N'y ajoutez pas de fichiers, n'en retirez pas et ne le recompressez pas.
  2. 2manifest.json. La liste de tous les fichiers avec leur empreinte SHA-256. Sa signature figure dans manifest.sig et se vérifie avec la clé publique publickey.pem. Lorsqu'ils sont présents, les horodatages Bitcoin et eIDAS portent sur ce fichier.
  3. 3verification/. Les scripts et le guide en texte brut pour vérifier le paquet sans ProofSnap (voir les étapes 8 à 10).
Exemple de paquet de capture web avec OpenTimestamps et eIDAS, ouvert dans un gestionnaire de fichiers (simplifié). La liste exacte dépend de l'offre et des options.

Méthode A

Vérifier dans le panneau latéral ProofSnap

Le Vérificateur de confiance est intégré à l'extension, à côté des outils de capture.

Étape 2, dans le panneau latéral

Trouvez le Vérificateur de confiance ProofSnap

Ouvrez le panneau latéral ProofSnap et faites défiler le panneau vers le bas, au-delà des options de capture. La carte ProofSnap Vérificateur de Confiance se trouve juste au-dessus de la Certification de fichiers et s'affiche repliée. Il faut un compte ProofSnap avec une offre ou des crédits pour la voir ; toute personne qui n'a pas ProofSnap passe par le site web (étape 7).

  1. 1Icône ProofSnap. Ouvre le panneau latéral. L'onglet ouvert n'a pas d'importance.
  2. 2ProofSnap Vérificateur de Confiance. Cliquez sur le titre pour ouvrir la carte.
Le Vérificateur de confiance se trouve sous les options de capture et au-dessus de la Certification de fichiers. Il fonctionne sur n'importe quel onglet. Panneau latéral reconstitué à partir de l'interface de l'extension ; offre et chiffres donnés à titre d'exemple.

Étape 3, dans le panneau latéral

Chargez le ZIP et cliquez sur Vérifier le fichier zip

Le vérificateur accepte un paquet de capture web ou vidéo, un paquet de session, une certification de fichier, une certification combinée de plusieurs fichiers et un paquet par lot avec un ZIP par fichier. Il déduit lui-même le type à partir du manifeste.

  1. 1Cliquez pour télécharger ou glissez-déposez. Choisissez le ZIP. Son nom apparaît en bleu sous la zone de dépôt.
  2. 2Vérifier le fichier zip. Lance tous les contrôles dans votre navigateur. Les deux contrôles d'horodatage interrogent le service de vérification de ProofSnap : restez en ligne. Les très gros paquets (à partir d'environ 900 Mo, en général de longues vidéos) peuvent épuiser la mémoire du navigateur ; au-delà d'environ 1,8 Go, le vérificateur vous renvoie aux scripts de l'étape 8.
La carte ouverte, avec le ZIP sélectionné. Tant que vous n'avez pas choisi de fichier, le bouton reste grisé et inactif.

Étape 4, dans le panneau latéral

Lisez le verdict

Le verdict résume tous les contrôles en une ligne. Survolez-le pour afficher une courte explication.

  1. 1Intégrité : conforme. Tous les contrôles cryptographiques ont réussi : les fichiers correspondent au manifeste, et le manifeste correspond à la signature faite avec la clé du paquet. Le vérificateur ne l'affiche qu'après avoir réellement contrôlé la signature et recalculé les empreintes des fichiers.
  2. 2Intégrité : modifiée. La preuve a été altérée ou est incomplète : au moins un contrôle a échoué. Voir plus bas la section sur la marche à suivre.
  3. 3Afficher la vérification technique. Ouvre le détail des contrôles (étape suivante).
En haut : un paquet intact. En bas : le même emplacement lorsqu'un contrôle a échoué.

Étape 5, dans le panneau latéral

Ouvrez la vérification technique

Chaque ligne correspond à un contrôle. Une barre bleue signale un contrôle réussi ou une simple information, une barre rouge un contrôle échoué. Les lignes affichées dépendent du contenu du paquet.

  1. 1manifest.json. La signature RSA du manifeste est validée avec la clé publique du paquet. Elle prouve que le manifeste n'a pas changé depuis sa signature.
  2. 2Intégrité des fichiers. Chaque fichier figurant dans le manifeste est de nouveau haché en SHA-256 et comparé. La signature et la clé ayant été créées après le manifeste, seule leur présence est vérifiée. Les paquets de session incluent les fichiers de chaque onglet, les paquets vidéo l'enregistrement.
  3. 3Chaîne de traçabilité. L'heure de capture est plausible (ni postérieure à la date actuelle, ni antérieure de plus de 30 ans), forensic_log.json correspond au hash enregistré dans chain_of_custody.json, sa chaîne de hachage est recalculée pas à pas, et le hash final de la chaîne correspond. La ligne qui cite la norme ISO reprend ce que déclare chain_of_custody.json ; ce n'est pas une évaluation.
  4. 4Contexte de capture. Version de l'extension, nombre de serveurs de temps ayant confirmé l'heure de capture, score d'intégrité de l'appareil et nombre d'opérations enregistrées. Un paquet de session liste aussi chaque onglet qu'il couvre.

Les lignes d'horodatage

  1. 5OpenTimestamps. Le bloc Bitcoin dans lequel le manifeste est ancré et sa date. Peu après une capture, cette ligne indique « en attente » (voir l'étape 11). Cette ligne n'apparaît pas sur les captures Essential, sauf si un crédit eIDAS SnapPack ou Video SnapPack a été utilisé.
  2. 6Horodatage qualifié UE. L'horodatage qualifié est valide pour ce manifeste, avec l'émetteur et l'heure en UTC. Émetteur : Disig a.s., prestataire de services de confiance qualifié inscrit sur la liste de confiance de l'UE.
  3. 7Horodatage qualifié UE (LTV). Un second contrôle qui ne nécessite aucun serveur : hash, signature, chaîne de certificats et statut de révocation, le tout tiré du fichier eidas_validation.json dans le paquet. Si le service eIDAS est injoignable, ce contrôle s'exécute seul.
  4. 8Émetteur. Rappelle que la clé de signature est générée à l'intérieur du paquet : la signature prouve l'intégrité, les horodatages datent le paquet.
Vérification technique du paquet d'exemple, quelques heures après la capture. Valeurs données à titre d'exemple.

Étape 6, certifications de fichiers

Comparez le fichier original au certificat

Pour une certification de fichier, le vérificateur ajoute une zone qui compare l'empreinte de tout fichier que vous y déposez à l'empreinte certifiée. Servez-vous-en pour montrer que la copie que vous ou la partie adverse détenez aujourd'hui est bien le fichier qui a été certifié. L'empreinte est calculée dans votre navigateur et le fichier ne quitte pas votre ordinateur.

  1. 1Le ZIP de certification. Vérifiez-le d'abord, comme aux étapes 3 à 5.
  2. 2Vérifier que le fichier original correspond au certificat. Déposez l'original. Le fichier correspond au certificat signifie que ce fichier est identique au fichier certifié, qui existait au plus tard à la date et à l'heure certifiées. Le fichier NE correspond PAS signifie que le hash diffère : ce n'est pas le fichier qui a été certifié. Vous pouvez déposer plusieurs fichiers à la fois, par exemple les originaux d'une certification combinée.
  3. 3Verdict. Il concerne le paquet lui-même, comme pour tout autre paquet.
  4. 4Type de paquet. File Certification (libellé affiché en anglais) avec le hash certifié, ou Certification combinée de fichiers avec le nombre de fichiers.
Une certification de fichier, avec le fichier original déposé dans la zone supplémentaire. Nom de fichier et hash donnés à titre d'exemple ; la liste continue plus bas.

Méthode B

Vérifier sur le site web

Pour toute personne à qui vous envoyez le paquet. Rien à installer.

Étape 7, sur le site web

Vérifiez sur getproofsnap.com, sans compte

La partie adverse, un tribunal ou un expert peut ouvrir le Vérificateur de confiance ProofSnap sur ce site dans n'importe quel navigateur, sans ProofSnap et sans compte. Il effectue les mêmes types de contrôles et affiche chaque résultat ligne par ligne. Le ZIP est ouvert dans le navigateur ; pour les contrôles Bitcoin et eIDAS, la page n'envoie que le hash du manifeste et les jetons d'horodatage au service de vérification de ProofSnap.

  1. 1Déposez le ZIP. Ou cliquez pour le choisir.
  2. 2Vérifier le package de preuves. Lance les contrôles.
  3. 3Résultats de la vérification. Une coche bleue signifie que le contrôle a réussi, une croix foncée qu'il a échoué.
  4. 4Détails du paquet. Type, identifiant et heure de capture tirés du manifeste.
  5. 5Signature du manifeste vérifiée. Même contrôle que dans le panneau latéral.
  6. 6Empreinte conforme. Une ligne par fichier. Un fichier modifié affiche Empreinte non conforme, un fichier absent Fichier manquant.
  7. 7Chaîne de traçabilité. Hash du journal forensique, chaîne de hachage, norme et intégrité de l'appareil.
  8. 8Horodatages. Le bloc Bitcoin avec sa date exprimée en heure locale, l'horodatage eIDAS et le contrôle LTV hors ligne. Pour une certification d'un seul fichier, la page contrôle aussi automatiquement le fichier original contenu dans le ZIP.
Le vérificateur de ce site, simplifié : navigateur et en-tête du site omis. Résultats du même paquet d'exemple qu'à l'étape 5.

Méthode C

Vérifier sans ProofSnap

Chaque paquet contient ses propres scripts de vérification dans le dossier verification. Ils figurent dans le manifeste signé et sont donc couverts par la même signature que la preuve.

Étape 8, sans ProofSnap

Lancez verify.sh sous macOS ou Linux

Pour un contrôle qui ne dépend en rien de ProofSnap, décompressez une copie du paquet et lancez le script qu'elle contient. Il n'a besoin que de ce que macOS et Linux fournissent déjà : un shell, awk et un outil SHA-256 (shasum, sha256sum ou openssl), ainsi qu'openssl pour les étapes de signature et eIDAS. Il n'écrit rien dans le paquet.

  1. 1Lancez-le. Depuis le dossier décompressé : bash verification/verify.sh.
  2. 2Intégrité des fichiers. Recalcule le SHA-256 de chaque fichier figurant dans le manifeste : OK, MISMATCH (non conforme) ou MISSING (manquant). Un fichier du dossier que le manifeste ne liste pas est signalé comme NOT COVERED (non couvert).
  3. 3Signature du manifeste. Contrôle manifest.sig avec openssl. Verified OK est le message affiché par openssl lui-même.
  4. 4eIDAS. Compare le hash contenu dans le jeton qualifié avec manifest.json, compare le certificat racine du paquet à l'empreinte publiée de l'autorité de certification CA Disig QCA4 et vérifie la signature du jeton. Il affiche la commande openssl permettant de vérifier la chaîne de certificats complète.
  5. 5OpenTimestamps. Affiche la commande pour contrôler l'ancrage Bitcoin avec le client OpenTimestamps (ots), à installer séparément.
  6. 6RESULT. PASS (code de sortie 0), FAIL quand un contrôle a été exécuté et n'a pas réussi (1), ou INCOMPLETE quand un outil manquait (2), ce qui ne met pas en cause le paquet.
Terminal simplifié sous Linux avec OpenSSL 3. Chaque ligne sous la commande est affichée telle quelle par verify.sh, dont les messages sont en anglais ; le nom du dossier et le hash sont des exemples.

Étape 9, sans ProofSnap

Lancez verify.ps1 sous Windows

Décompressez une copie du paquet, ouvrez PowerShell (version 5 ou ultérieure) dans ce dossier et lancez la commande ci-dessous. Le script exécute les quatre mêmes étapes que verify.sh.

  1. 1Lancez-le. powershell -ExecutionPolicy Bypass -File verification\verify.ps1 depuis le dossier décompressé.
  2. 2Intégrité des fichiers. Utilise Get-FileHash, intégré à Windows, et compare aussi les valeurs SHA-512 qui figurent dans le manifeste. Cette partie n'a besoin de rien d'autre.
  3. 3Sans OpenSSL. Windows n'en est pas pourvu par défaut, si bien que les étapes de signature et eIDAS signalent qu'elles n'ont pas pu s'exécuter. Installez OpenSSL 3 et relancez le script pour un contrôle complet.
  4. 4RESULT. Le résultat est INCOMPLETE uniquement parce que deux contrôles n'ont pas pu s'exécuter ; tout ce qui a été exécuté a réussi.
Fenêtre Windows PowerShell simplifiée sur un ordinateur sans OpenSSL, la configuration par défaut de Windows. Les lignes sont reproduites telles que verify.ps1 les affiche, en anglais ; le dossier est un exemple.

Étape 10, sans ProofSnap

Ou suivez VERIFICATION_GUIDE.txt à la main

Les experts qui préfèrent taper chaque commande eux-mêmes, ou qui ne peuvent pas exécuter de scripts, trouvent la procédure manuelle dans verification/VERIFICATION_GUIDE.txt. Ce fichier fait partie du paquet signé, comme les scripts.

  1. 1Evidence ID. Rattache le guide à ce paquet.
  2. 2A) Les scripts. Les commandes des étapes 8 et 9.
  3. 3B) En ligne. L'adresse du Vérificateur de confiance, étape 7.
  4. 4C) À la main. Quatre étapes, chacune avec la commande exacte.
  5. 5STEP 1. Recalculez le SHA-256 de chaque fichier et comparez-le avec le manifeste.
  6. 6STEP 2. La commande openssl pour la signature du manifeste. Plus bas : la commande eIDAS avec des remarques sur OpenSSL 3 par rapport au LibreSSL que macOS fournit sous le nom openssl, et la commande OpenTimestamps.
Le début du guide, rédigé en anglais, dans une visionneuse de texte brut (vue simplifiée). Il se poursuit avec l'étape 3 (eIDAS), l'étape 4 (OpenTimestamps) et la chaîne de hachage. L'identifiant de preuve est un exemple.

Comment vérifier à la main les horodatages eIDAS et Bitcoin

L'horodatage eIDAS avec OpenSSL

L'horodatage qualifié d'un paquet ProofSnap est le fichier manifest.json.tsr.

  1. Copiez la valeur du champ rootCaPem du fichier eidas_validation.json dans un fichier nommé tsa-root.pem.
  2. Comparez l'empreinte SHA-256 de ce certificat avec l'empreinte publiée de CA Disig QCA4 qu'affiche verify.sh.
  3. Depuis le dossier décompressé, lancez openssl ts -verify -in manifest.json.tsr -data manifest.json -CAfile tsa-root.pem.

Utilisez OpenSSL 3, et non le LibreSSL que macOS fournit sous le nom openssl.

L'ancrage Bitcoin avec le client OpenTimestamps

Installez le client OpenTimestamps (ots) et lancez ots verify manifest.json.ots -f manifest.json. Une preuve confirmée indique le bloc Bitcoin, ce qui montre que le manifeste existait au plus tard à la date de ce bloc. Si la preuve est encore en attente, relancez la commande quelques heures plus tard.

Résultats

Deux résultats à examiner de plus près

Un horodatage Bitcoin en attente et un paquet signalé comme modifié.

Quand l'ancrage Bitcoin est en attente

Vérifiez de nouveau quelques heures plus tard

Un horodatage Bitcoin n'est définitif qu'une fois inclus dans un bloc Bitcoin. Juste après une capture, la preuve est soumise mais pas encore confirmée. C'est normal et cela ne change pas le verdict. Pour contrôler une preuve .ots seule, consultez l'article Comment vérifier un fichier OpenTimestamps.

  1. 1En attente. Soumis : confirmation Bitcoin en attente (généralement 1 à 3 heures). Sur le site web : OpenTimestamps : preuve soumise, confirmation en attente.
  2. 2Vérifié. Vérifiez de nouveau le même ZIP, inchangé, après quelques heures : la ligne indique alors le bloc Bitcoin. Elle montre que le manifeste, et donc chaque fichier qu'il liste, existait au plus tard à la date de ce bloc. N'essayez pas de mettre à jour ni de remplacer le fichier .ots.

Quelques minutes après la capture

Quelques heures plus tard, même ZIP

La ligne OpenTimestamps dans la vérification technique du panneau latéral. Numéro de bloc et date donnés à titre d'exemple.

Quand le verdict indique « modifiée »

Ne réparez pas le ZIP : revenez à l'original

Cliquez sur Afficher la vérification technique : la ligne rouge indique le contrôle en cause et, le plus souvent, le fichier concerné. N'essayez pas de corriger le paquet ; toute modification ferait de nouveau échouer la vérification. Vérifiez plutôt le téléchargement d'origine. Les causes les plus fréquentes sont des erreurs de manipulation sans gravité :

  1. 1Un fichier a été modifié. Ouvrir un fichier du paquet et l'enregistrer, même sans modification visible, ou le renommer, suffit à le rendre non conforme au manifeste.
  2. 2Le paquet a été décompressé puis recompressé. Une nouvelle compression ajoute souvent un niveau de dossier supplémentaire, si bien que le vérificateur ne trouve plus manifest.json à la racine du ZIP. Certains outils ajoutent aussi leurs propres fichiers cachés.

Si la vérification du téléchargement d'origine indique elle aussi modifiée, conservez-le tel quel et écrivez à support@getproofsnap.com en y collant le texte de la ligne rouge de la vérification technique.

Un fichier du paquet a été ouvert puis enregistré

Le paquet a été décompressé puis recompressé

Haut de la vérification technique dans deux cas typiques. Noms de fichiers donnés à titre d'exemple.

Questions fréquentes

Des preuves que chacun peut vérifier

Vous avez reçu un paquet ProofSnap ? Vérifiez-le dans le Vérificateur de confiance. Besoin de capturer vos propres preuves ? Installez ProofSnap.

Installer ProofSnap, 7 jours d'essai

L'essai de 7 jours nécessite une carte bancaire. Sans carte, un SnapPack coûte 4,99 $ (env. 4,30 €).

Autres guides : Capturer une page web · Preuves vidéo longues · Certifier un fichier · Lire un paquet de preuves

Installer ProofSnap