Aller au contenu

Documents

Horodatage certifié et empreinte SHA-256 : prouver qu’un fichier n’a pas été modifié

Calculez l’empreinte SHA-256 d’un fichier, vérifiez un horodatage RFC 3161 et comprenez la valeur juridique de l’horodatage qualifié (eIDAS, droit français).

Publié le · 12 min de lecture

Dans cet article

Une empreinte SHA-256 identifie les octets exacts d’un fichier, et un horodatage certifié prouve que cette empreinte existait à un instant donné : ensemble, ils montrent qu’un fichier n’a pas changé depuis cet instant. Aucun des deux ne prouve que le contenu est vrai, que le document est authentique ni qui l’a créé.

Ce guide s’adresse aux équipes de comptabilité fournisseurs, de gestion des sinistres, de juridique et de conformité qui conservent des fichiers comme preuve. Il montre comment vérifier une empreinte (hash) avec les outils de votre poste, comment lire un jeton d’horodatage RFC 3161, ce que prévoient le droit européen et le droit français, et comment les intégrer à un circuit de contrôle. Il ne constitue pas un avis juridique.

Ce que prouve une empreinte SHA-256, et ce qu’elle ne prouve pas

Une empreinte SHA-256 est un résumé de 256 bits calculé sur tous les octets d’un fichier et noté en 64 caractères hexadécimaux (NIST FIPS 180-4). Contrairement à une somme de contrôle, qui détecte une simple corruption, une fonction de hachage cryptographique est conçue pour qu’il soit infaisable de fabriquer un autre fichier de même empreinte. Elle décrit des octets, pas une apparence :

ActionL’empreinte change-t-elle ?
Renommer, déplacer ou copier le fichierNon
Modifier la date de modification dans l’explorateurNon : la date ne fait pas partie du contenu
Rouvrir un PDF et l’enregistrer à nouveau, sans changement visibleLe plus souvent oui : l’application réécrit les métadonnées et la structure interne
Modifier les métadonnées, exporter ou convertir vers un autre formatOui
Faire une capture d’écran, ou envoyer une image par une messagerie comme WhatsApp qui la recompresseOui : le résultat est un autre fichier

Une empreinte différente signifie des octets différents, pas forcément un montant modifié ni une fraude. Une empreinte identique signifie les mêmes octets, pas un contenu authentique : une fausse facture a, elle aussi, une empreinte stable. Quiconque peut modifier un fichier peut en recalculer l’empreinte, qui ne prouve donc que si elle a été consignée là où le détenteur du fichier ne peut pas la réécrire. C’est ce que permet l’horodatage.

L’ANSSI classe SHA2-256 et SHA3-256 parmi les fonctions de hachage conformes à son référentiel et juge SHA-1 non conforme (guide ANSSI-PG-083, 20 mars 2026). Le NIST prévoit d’abandonner SHA-1 pour toutes les applications d’ici le 31 décembre 2030 (NIST), et le RFC 6151 juge MD5 inacceptable là où la résistance aux collisions est requise. Pour un dossier de preuve, évitez MD5 et SHA-1.

Calculer et comparer une empreinte SHA-256 sous Windows, macOS et Linux

Pour vérifier un hash, calculez l’empreinte du fichier sur votre propre poste et comparez la valeur complète avec la valeur attendue. Chaque système fournit déjà une commande.

SystèmeCommande
Windows (PowerShell)Get-FileHash .\facture.pdf -Algorithm SHA256
Windows (invite de commandes)certutil -hashfile facture.pdf SHA256
macOS (Terminal)shasum -a 256 facture.pdf
Linux (shell)sha256sum facture.pdf
Tout système équipé d’OpenSSLopenssl dgst -sha256 facture.pdf

Pour comparer correctement :

  1. Calculez l’empreinte du fichier lui-même, pas celle d’une copie réenregistrée.
  2. Comparez les 64 caractères : faire coïncider les premiers est peu coûteux, et comparer seulement le début et la fin ne prouve rien. La casse ne compte pas (PowerShell affiche des majuscules, sha256sum des minuscules).
  3. Laissez la machine comparer. Sous PowerShell, (Get-FileHash .\facture.pdf -Algorithm SHA256).Hash -eq "EMPREINTE_ATTENDUE" renvoie True ou False. Pour une liste publiée dans un fichier SHA256SUMS, sha256sum -c SHA256SUMS (Linux) ou shasum -a 256 -c SHA256SUMS (macOS) répond OK ou FAILED pour chaque fichier.

Pour contrôler votre outil, hachez un fichier contenant exactement les trois caractères abc (printf abc > test.txt sous macOS et Linux, Set-Content -Path test.txt -Value abc -NoNewline sous PowerShell) : le résultat doit être ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Avec un saut de ligne final ajouté par un éditeur, il devient edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb.

La valeur attendue doit venir d’une source indépendante. Une empreinte publiée à côté d’un fichier protège d’un téléchargement corrompu, pas de quelqu’un qui peut modifier les deux ; pour une preuve, prenez votre registre de réception, le portail de l’émetteur ou un jeton d’horodatage, jamais l’empreinte fournie par l’expéditeur dont la pièce est contestée.

Méfiez-vous des sites de calcul d’empreinte en ligne : beaucoup exigent le dépôt du fichier, donc la communication de tout son contenu à un tiers. Pour une facture, un contrat ou un dossier de sinistre, utilisez les commandes ci-dessus : le résultat est le même et rien ne quitte votre poste.

Ce qu’ajoute un horodatage : le jeton RFC 3161

Un horodatage électronique associe des données à un instant particulier et établit la preuve qu’elles existaient à cet instant (règlement eIDAS, article 3, point 33). Les dates d’un fichier n’ont pas cette valeur : la date de modification, celle de création d’un PDF ou la date de prise de vue d’une photo sont écrites par le logiciel d’un appareil que vous ne maîtrisez pas, et elles se modifient. Un horodatage de confiance émane d’un tiers dont l’horloge et la clé de signature sont distinctes des vôtres. Le RFC 3161 normalise le protocole :

  1. Vous calculez l’empreinte SHA-256 du fichier.
  2. Vous envoyez l’empreinte, et non le fichier, à l’autorité d’horodatage (TSA), en général avec un nonce aléatoire contre le rejeu.
  3. La TSA signe un jeton qui lie votre empreinte à l’heure UTC de sa création, avec un numéro de série et sa politique d’horodatage.
  4. La TSA vous renvoie le jeton, que vous conservez à côté du fichier.

La TSA ne reçoit jamais le fichier : l’horodatage convient donc à des pièces confidentielles. Pour vérifier, recalculez l’empreinte, contrôlez qu’elle correspond à celle du jeton, puis vérifiez la signature de la TSA et que son certificat, émis pour l’horodatage, remonte à une racine de confiance. OpenSSL fait tout cela (documentation) :

TâcheCommande
Créer une requêteopenssl ts -query -data facture.pdf -sha256 -cert -out facture.tsq
Lire une réponseopenssl ts -reply -in facture.tsr -text
Vérifier le fichier contre la réponseopenssl ts -verify -data facture.pdf -in facture.tsr -CAfile chaine.pem

La requête part en HTTP POST (type de contenu application/timestamp-query) vers l’adresse que documente le prestataire. -text affiche l’empreinte (champ « Message data »), le numéro de série et l’heure en GMT. Une vérification réussie affiche Verification: OK ; si le fichier diffère de celui qui a été horodaté, l’outil affiche Verification: FAILED et l’erreur « message imprint mismatch ». chaine.pem contient le certificat racine de la TSA, fourni par le prestataire. OpenSSL ne dit pas si le prestataire est qualifié et ne contrôle pas la révocation sans -crl_check.

Les certificats des TSA expirent. Un jeton émis pendant la validité du certificat reste exploitable, mais une vérification naïve, des années plus tard, peut échouer : -attime valide la chaîne à l’instant du jeton (secondes depuis l’époque Unix). Pour une conservation longue, gardez les données de validation et renouvelez la preuve par un horodatage d’archivage.

Un PDF peut aussi contenir le jeton sous forme d’horodatage de document, défini par le profil PAdES de la norme ETSI EN 319 142-1. Il couvre les octets du PDF jusqu’à son ajout, pas les modifications ultérieures. Acrobat le liste dans le panneau Signatures, avec l’heure, l’émetteur et l’état de validation.

Horodatage certifié ou qualifié : la valeur juridique en France

Cette section présente des textes ; elle ne constitue pas un avis juridique. « Horodatage certifié » est une expression commerciale. Le règlement (UE) n° 910/2014 (eIDAS) ne connaît que l’horodatage électronique et l’horodatage électronique qualifié (article 3, points 33 et 34), et seul le second bénéficie de la présomption ci-dessous.

Les articles 41 et 42 d’eIDAS

Selon l’article 41, l’effet juridique et la recevabilité d’un horodatage électronique comme preuve en justice ne peuvent être refusés au seul motif qu’il est sous forme électronique ou qu’il ne satisfait pas aux exigences de l’horodatage qualifié. Un horodatage électronique qualifié « bénéficie d’une présomption d’exactitude de la date et de l’heure qu’il indique et d’intégrité des données auxquelles se rapportent cette date et cette heure ».

Selon l’article 42, un horodatage qualifié lie la date et l’heure aux données de manière à raisonnablement exclure leur modification indétectable, repose sur une horloge exacte liée au temps universel coordonné, et est signé ou cacheté au moyen d’une signature ou d’un cachet électronique avancé du prestataire qualifié, ou par une méthode équivalente (texte consolidé du 18 octobre 2024, intégrant le règlement (UE) 2024/1183). Le règlement d’exécution (UE) 2025/1929 du 29 septembre 2025 fixe les normes de référence dont le respect fait présumer cette conformité. La présomption porte sur la date et l’intégrité des données horodatées, pas sur la véracité du contenu, son auteur ou sa licéité.

Vérifier qu’un prestataire est qualifié

En France, l’ANSSI est l’organe de contrôle des prestataires de services de confiance qualifiés et publie la liste nationale de confiance, aussi disponible en XML. Les listes de tous les États membres se consultent dans le navigateur des listes de confiance de l’Union européenne. Cherchez le service d’horodatage électronique qualifié et vérifiez son statut à la date d’émission : un prestataire absent de la liste peut fournir un horodatage recevable, mais sans la présomption.

Code civil, preuve entre professionnels et copies numériques

L’article 1366 du Code civil donne à l’écrit électronique la même force probante que le papier, sous réserve que puisse être dûment identifiée la personne dont il émane et qu’il soit établi et conservé dans des conditions de nature à en garantir l’intégrité ; l’article 1367 définit la signature (articles 1363 à 1368). Ces articles ne mentionnent pas l’horodatage : une empreinte consignée et un horodatage sont des moyens de documenter la condition d’intégrité, sans la présumer. Entre commerçants, les actes de commerce se prouvent par tous moyens (Code de commerce, article L110-3) : le juge apprécie chaque élément, et un horodatage non qualifié pèse comme un indice parmi d’autres.

Pour la copie électronique fiable d’un document, notamment numérisé, le décret n° 2016-1673 du 5 décembre 2016, pris pour l’application de l’article 1379 du Code civil, exige que son intégrité soit attestée par une empreinte électronique rendant détectable toute modification ultérieure, et présume cette condition remplie par l’usage d’un horodatage qualifié, d’un cachet électronique qualifié ou d’une signature électronique qualifiée (article 3).

Utiliser empreintes et horodatage dans un circuit de contrôle

Une empreinte et un horodatage n’aident que s’ils sont pris au bon moment et conservés à l’écart du fichier :

  1. Calculez l’empreinte à la réception, avant que quiconque ouvre, renomme, annote ou réenregistre le fichier. Travaillez sur des copies.
  2. Consignez l’empreinte avec le nom du fichier, l’expéditeur, le canal et l’heure de réception, et gardez le message d’origine avec ses en-têtes.
  3. Conservez l’original en lecture seule, dans un espace où les modifications sont journalisées.
  4. Horodatez un manifeste, un fichier texte qui liste chaque nom de fichier avec son empreinte : un seul jeton date tous les fichiers. Si le dossier peut devenir contentieux, choisissez un prestataire qualifié.
  5. Comparez à chaque nouvel envoi. Une empreinte différente désigne une nouvelle version à contrôler de zéro, quel que soit le nom du fichier.
  6. Constituez un dossier de vérification (fichier, empreinte, jeton, chaîne de certificats, commandes) qu’une autre personne pourra rejouer des années plus tard.

L’empreinte indique si un fichier est celui que vous avez consigné. Pour examiner ce qui a changé à l’intérieur, voyez comment savoir si un PDF a été modifié ; pour le rapprocher de la commande et des règlements, vérifier une facture fournisseur avant paiement. Les Content Credentials du guide C2PA, filigranes IA et détecteurs d’images reposent aussi sur une empreinte et peuvent embarquer un horodatage RFC 3161 (spécification C2PA 2.2), mais ils documentent la fabrication d’un contenu, pas seulement ses octets.

Ce que consigne un rapport Fileverity

Chaque rapport Fileverity consigne l’empreinte SHA-256 du fichier examiné, ce qui permet à un relecteur ultérieur de confirmer à quel fichier se rapportent les constats. À l’émission, les données du rapport, qui reprennent cette empreinte, sont horodatées par l’autorité d’horodatage RFC 3161 de DigiCert. Les rapports PDF portent en outre un horodatage de document PAdES dont la chaîne remonte à une racine de l’Adobe Approved Trust List.

Un horodatage ou un sceau n’est indiqué qu’après validation réussie. Si le service ou les données de validation sont indisponibles, le rapport est tout de même remis, avec l’absence de cette preuve signalée expressément. Fileverity décrit ces horodatages comme des horodatages de confiance RFC 3161, non comme des horodatages électroniques qualifiés au sens d’eIDAS, et n’est pas un prestataire de services de confiance qualifié. La page Sécurité décrit le scellement et la vérification des rapports ; la page de vérification affiche les résultats consignés à l’émission et rapproche, sur votre appareil, une image ou le fichier de données du rapport.

Un horodatage établit que des données existaient à un instant, pas que les faits du document ou les constats sont exacts. Les originaux ne sont pas conservés comme archive durable : gardez votre exemplaire, que l’empreinte consignée permettra de rattacher au rapport. L’analyse documentaire traite ce qu’une empreinte ne dit pas : le texte, la structure du fichier, les révisions enregistrées et les signatures PDF prises en charge.

Cas pratique : deux PDF pour une même facture contestée

Ce cas est fictif et les empreintes sont abrégées. Le 6 juillet, la comptabilité fournisseurs reçoit par courriel la facture FA-2087 d’un fournisseur fictif, au format PDF, pour 4 800,00 € TTC. Avant de l’ouvrir, un collaborateur l’enregistre telle quelle et calcule son empreinte, qui commence par 3fa9c1. Il la consigne avec l’expéditeur, l’identifiant du message et l’heure de réception, puis horodate un manifeste d’une ligne et conserve le jeton. La facture est rapprochée de la commande et de la réception, puis approuvée.

Le 19 septembre, le fournisseur affirme que la facture portait 5 400,00 € TTC et renvoie « le même PDF ». Son empreinte commence par b04e52. La comptabilité procède ainsi :

  1. Deux empreintes différentes désignent deux fichiers différents, sans dire ce qui diffère ni qui l’a modifié.
  2. Elle exécute openssl ts -verify -data manifeste.txt -in reception.tsr -CAfile chaine.pem, puis retrouve dans le manifeste l’empreinte de l’original conservé, 3fa9c1…. L’heure du jeton est celle du 6 juillet.
  3. Elle compare les deux PDF, retrouve le courriel d’origine avec ses en-têtes et demande au fournisseur, par le contact enregistré lors du référencement, la copie issue de son système de facturation.

Le dossier appuie une conclusion étroite : l’exemplaire reçu existait, inchangé, le 6 juillet, et le PDF du fournisseur est un autre fichier. Qui a modifié quel fichier n’est pas établi, et c’est le courriel conservé, non l’horodatage, qui montre ce que le fournisseur a envoyé. Le montant dû se détermine à partir de la commande, de la réception et du contrat ; si la facture initiale était erronée, le fournisseur doit émettre un avoir ou une facture de remplacement qui y fait référence. Un horodatage demandé après le litige ne prouverait rien sur le 6 juillet : un jeton date son émission, jamais une date antérieure.

Questions fréquentes

SHA-256 est-il encore sûr ?

Oui, pour l’intégrité et la preuve. L’ANSSI le classe parmi les fonctions conformes dans son guide de mars 2026, qui documente en revanche des attaques pratiques par collision contre SHA-1. MD5 et SHA-1 sont à proscrire. Pour des pièces conservées de nombreuses années, prévoyez de les horodater à nouveau.

Deux fichiers différents peuvent-ils avoir la même empreinte SHA-256 ?

Mathématiquement oui, car il existe bien plus de fichiers possibles que de valeurs sur 256 bits. SHA-256 est conçu pour que trouver une telle paire soit infaisable avec les moyens de calcul actuels. Une empreinte identique est donc un très fort indice d’octets identiques, non une démonstration mathématique.

Renommer ou copier un fichier change-t-il son empreinte ?

Non. L’empreinte ne dépend que du contenu : renommer, déplacer ou copier donne la même valeur. Réenregistrer le fichier dans une application la modifie en général, même si rien ne semble différent à l’écran.

Un horodatage prouve-t-il qui a créé le fichier ?

Non. Il lie une empreinte à un instant, rien de plus : il n’identifie pas l’auteur, n’établit pas que le contenu est vrai et n’exclut pas que le fichier ait été créé quelques secondes avant l’horodatage. L’auteur se prouve par d’autres éléments, comme une signature électronique.

Un horodatage non qualifié a-t-il une valeur en justice ?

Oui, mais sans présomption. L’article 41 d’eIDAS interdit de lui refuser effet juridique et recevabilité au seul motif qu’il est électronique ou non qualifié. Son poids dépend ensuite de la fiabilité du prestataire et des autres éléments du dossier, que le juge apprécie ; seul l’horodatage qualifié bénéficie de la présomption.

Par Yang Zheng · Relu par Bill Liu

Guides associés

Tous les guides

Vérifiez les documents qui fondent vos décisions.

Avant de régler un sinistre, payer une facture ou vous appuyer sur une attestation, examinez le document reçu. Fileverity examine les modifications, les incohérences et les indices de rédaction par IA, avec des constats localisés pour orienter vos vérifications. Analysez un fichier ou préparez une intégration à votre processus.