Documentation

Certificats de préservation

Ce qu'un certificat atteste, l'émettre, le révoquer, le faire vérifier par un tiers.

Un certificat de préservation atteste, signé et daté, l’état d’une archive .obf ou d’un fichier à un moment donné : ses empreintes, où il se trouve, ses copies, son dernier contrôle. Vous le remettez à un tiers (un client, un assureur, une institution) qui peut le vérifier sans vous, hors ligne ou sur une page web.

L’écran Certificats (groupe Attester) tient le registre des certificats émis, les émet, les révoque et vérifie un PDF. Émettre un certificat demande une licence ; vérifier un certificat est gratuit.

L’écran Certificats de préservation : boutons Réglages, Vérifier un PDF… et Émettre… ; registre de trois certificats avec leurs badges Valide ou Remplacé, Archive ou Fichier, leur SHA-256, leur date et leur clé

Ce qu’un certificat atteste

Pour une archive (une révision précise d’une archive .obf) :

  • le projet, l’identifiant de l’archive, sa révision, sa date d’archivage, son moteur de compression ;
  • l’empreinte SHA-256 du paquet (le fichier de contenu de l’archive) ;
  • le nombre de fichiers et l’empreinte SHA-256 de la liste des fichiers ; la liste elle-même (chemin, taille et empreinte de chaque fichier) est l’annexe, un fichier remis avec le PDF et recopié dans ses dernières pages (voir « Le document ») ;
  • sa dernière vérification ;
  • ses emplacements connus : le nom du support (son libellé dans Supports, sinon le nom du disque) et le nom du dossier du paquet, par exemple Fonds-Brown-r1 — Disque N2 · N2. Aucun chemin complet n’est signé ni imprimé : ni votre nom de compte, ni l’organisation de vos disques ;
  • ses copies hors site envoyées ou vérifiées par Vault : le nom de la destination et la date. Le compartiment, la clé, l’hôte ou le partage restent dans votre bibliothèque. Une copie dont la dernière vérification a échoué n’y figure pas.

Pour une révision incrémentale (qui ne contient que ce qui a changé depuis la révision précédente), le certificat atteste l’état complet du projet à cette révision, pas seulement les fichiers changés : le nombre de fichiers, l’empreinte de la liste et l’annexe sont ceux de son inventaire, la liste signée de tous les fichiers du projet, y compris ceux qui n’ont pas changé. L’empreinte du paquet reste celle de la révision. Le document a la même forme qu’un certificat de révision complète et se vérifie de la même façon, dans Vault comme sur la page web. La chaîne de révisions dont dépend la restauration n’est pas imprimée : Vault la garde dans son registre (numéro et empreinte du manifeste de chaque révision vérifiée à l’émission).

Pour un fichier :

  • le projet, le chemin du fichier dans son projet, sa taille, son empreinte SHA-256 ;
  • son dernier contrôle de fixité ;
  • les archives qui le contiennent (identifiant et révision).

Une absence est écrite et signée, jamais laissée en blanc : « aucun contrôle enregistré », « aucune vérification enregistrée », « aucune copie hors site enregistrée », « aucun emplacement enregistré ».

Le certificat porte aussi son numéro (par exemple OV-CERT-2026-00001), sa version, sa date d’émission, le nom de l’émetteur, l’adresse où l’émetteur publie sa clé, la signature et l’horodatage éventuel.

Le certificat atteste ce que votre bibliothèque sait de l’objet au moment de l’émission. Il ne dit rien de ce que l’objet représente ni de qui en est l’auteur.

Le document

Le certificat est un PDF/A-2b, le format PDF destiné à l’archivage. Il embarque son manifeste signé : les valeurs attestées, sous forme de données, signées par une signature Ed25519. Toute modification du contenu ou de la page est détectée à la vérification.

La page imprime l’adresse de vérification en clair et en QR code (par défaut vault.obscuraflow.app/c/<numéro>/<version>), ainsi qu’un lien obscura-vault:cert/… pour l’application. Si le QR code ne peut pas être produit, aucun certificat n’est émis.

Le lien obscura-vault:cert/<numéro>/<version>, ouvert depuis Aperçu ou un navigateur, ouvre Obscura Vault sur l’écran Certificats :

  • si le certificat figure au registre de votre bibliothèque, Vault affiche son statut (valide, remplacé, révoqué avec date et motif), son objet et sa date, et propose Vérifier ce PDF ;
  • sinon (certificat d’une autre installation, ou lien qui ne désigne rien), Vault le dit et propose Vérifier un PDF… : le lien ne porte ni le manifeste ni la clé, seul le PDF peut être vérifié.

Un lien mal formé est ignoré.

Les PDF sont enregistrés dans le dossier Certificats de la bibliothèque, sous le nom <numéro>-v<version>.pdf. Un certificat d’archive est accompagné de son annexe, <numéro>-v<version>-fichiers.json : la liste des fichiers de l’archive dont l’empreinte SHA-256 est signée et imprimée en première page. Remettez les deux fichiers ensemble. N’importe qui contrôle l’annexe avec un simple outil d’empreinte (shasum -a 256 OV-CERT-2026-00001-v1-fichiers.json) : le résultat doit être l’empreinte imprimée. Les dernières pages du PDF en sont la copie lisible. Ainsi le certificat d’une archive de plusieurs dizaines de milliers de fichiers reste léger et se vérifie comme les autres.

Vault ne remplace jamais un PDF ni une annexe déjà présents dans ce dossier, et ne réutilise jamais un numéro dont le PDF s’y trouve, même après la restauration d’une sauvegarde de la base plus ancienne que ces certificats. Dans ce cas, l’écran Certificats signale les PDF du dossier absents du registre.

La page du certificat est toujours rédigée en français, quelle que soit la langue du Mac : c’est un document signé destiné à durer, dont le texte imprimé est comparé aux valeurs signées. Les valeurs elles-mêmes (empreintes, identifiants, dates ISO 8601) se lisent dans toutes les langues.

La première page d’un certificat d’archive : « CERTIFICAT DE PRÉSERVATION », numéro, date d’émission, émetteur, bloc « Archive certifiée », signature et QR code « Vérifier ce certificat »

Préparer l’émission (une fois)

Tant que tout n’est pas prêt, l’écran affiche L’émission est bloquée avec la liste de ce qui manque, et Ouvrir les réglages des certificats. Cliquez sur ce bouton, ou sur l’icône d’engrenage en haut de l’écran (Réglages des certificats…) :

La feuille « Réglages des certificats » juste après la création de la clé : sections Émetteur, Vérification et horodatage, Clé de signature avec son empreinte et la demande d’en exporter une sauvegarde

  1. Clé de signature : cliquez sur Créer la clé de signature. Elle est rangée dans le trousseau du Mac. Son empreinte s’affiche.
  2. Sauvegarde de la clé : saisissez une phrase de passe (12 caractères au moins), confirmez-la, puis Exporter une sauvegarde…. Vault écrit un fichier chiffré par cette phrase de passe (par défaut obscura-vault-cle-certificats.txt). L’émission reste bloquée tant que cette sauvegarde n’a pas été exportée : perdre ce Mac sans elle empêcherait d’émettre de nouveaux certificats sous cette identité (les certificats déjà émis restent vérifiables grâce à la clé publique que vous publiez). Sur un autre Mac, Importer une sauvegarde de clé… réinstalle cette clé (voir Clés et sécurité). Rangez le fichier et la phrase de passe séparément ; ensemble, ils permettent d’émettre en votre nom.
  3. Émetteur :
    • Nom de l’émetteur : imprimé et signé, c’est qui atteste ;
    • Adresse de la clé publique (https) : l’adresse où vous publiez votre fichier de clé, par convention https://votre-domaine/.well-known/obscura-certificate-key.json. Elle est obligatoire : elle entre dans le manifeste signé et ne peut pas être ajoutée après coup ;
    • Préfixe des numéros : OV par défaut, ce qui donne OV-CERT-2026-00001.
  4. Vérification et horodatage :
    • Adresse de vérification : laissez vide pour l’adresse permanente d’Obscura Vault, https://vault.obscuraflow.app/c. Ne la changez que pour un miroir que vous hébergez ;
    • Autorité d’horodatage RFC 3161 : facultatif. Vide, aucun horodatage et aucun appel réseau ; le certificat imprime que sa date est déclarative. Renseignée (https), chaque émission demande à cette autorité un jeton qui atteste que la signature existait à sa date. Si l’autorité ne répond pas, l’émission échoue plutôt que de produire un certificat plus faible.
  5. Cliquez sur Enregistrer.

Publier votre clé publique

Cliquez sur Exporter le fichier de clé publique… : Vault écrit obscura-certificate-key.json, qui contient les clés publiques de vos certificats. Publiez ce fichier à l’adresse indiquée dans Adresse de la clé publique, sur un site que vous contrôlez. C’est là que la page de vérification ira chercher votre clé.

Enregistrez par-dessus le fichier que vous publiez déjà (gardez-en une copie locale) : Vault conserve les clés qu’il contient, par exemple celles d’un ancien Mac, et y ajoute les siennes. Une clé retirée y reste, pour que les certificats qu’elle a signés restent vérifiables en ligne ; une clé déclarée compromise en sort.

Pour que la page de vérification puisse le lire, le serveur doit autoriser sa lecture depuis une autre origine (en-tête CORS). À défaut, la personne qui vérifie peut coller le contenu du fichier dans la page.

Émettre un certificat

  1. Cliquez sur Émettre….
  2. Choisissez Une archive .obf ou Un fichier :
    • les archives proposées sont celles que Vault a créées ou vérifiées, avec leur révision, leur nombre de fichiers indexés et leur dernière vérification. Une révision incrémentale porte la marque Incrémentale et le nombre de fichiers que comptera son certificat, celui de l’état complet du projet. Une révision que Vault sait déjà ne pas pouvoir certifier (voir plus bas) porte la marque Non certifiable ; sélectionnée, la feuille dit pourquoi et le bouton Émettre reste inactif ;
    • pour un fichier, cherchez-le par son chemin (Chercher un fichier par son chemin) ; chaque fichier affiche son dernier contrôle de fixité et le nombre d’archives qui le contiennent.
  3. Cliquez sur Émettre.

La feuille « Émettre un certificat de préservation » sur « Une archive .obf » : la liste des archives avec leur révision et leur dernière vérification

Vault refuse de certifier :

  • une archive dont la dernière vérification n’est pas « vérifiée » (échec, ou archive non vérifiable) : vérifiez-la à nouveau ou restaurez-la d’abord ;
  • une archive dont le manifeste ne porte pas une signature de vos clés d’archive (modifié depuis l’archivage, ou signé par une clé inconnue) : l’empreinte et la liste des fichiers ne sont certifiées que telles que l’archive les a signées ;
  • une révision incrémentale qui n’est pas restaurable dans le dossier des archives : une révision de sa chaîne y manque, ou sa dernière vérification n’y est pas « vérifiée ». Le message nomme les révisions en cause ; vérifiez-les dans Archives d’abord ;
  • une révision incrémentale d’Obscura Flow, qui n’a pas d’inventaire : les fichiers supprimés depuis sa base ne sont pas connus, et l’état complet du projet ne peut pas être attesté. Faites une nouvelle révision complète du projet et certifiez-la ;
  • un fichier dont le dernier contrôle de fixité n’est pas conforme (empreinte différente, fichier introuvable ou illisible) : contrôlez-le à nouveau d’abord.

Une archive jamais vérifiée ou un fichier jamais contrôlé peut être certifié : le certificat l’imprime (« aucun contrôle enregistré ») et la feuille vous prévient. Pour un certificat plus fort, lancez un audit avant.

Vault signe le manifeste, demande l’horodatage s’il est réglé, produit le PDF, puis le relit et le vérifie avant de l’enregistrer : un certificat qui ne se vérifie pas est supprimé, jamais remis. Le numéro n’est consommé qu’à ce moment. Le numéro suivant tient compte du registre et des PDF déjà présents dans le dossier Certificats.

Réémettre

Si l’objet a déjà un certificat valide, le bouton devient Réémettre : « Remplacera le certificat … : le numéro est conservé, la version s’incrémente. » Réémettez quand l’état de l’objet a changé (une nouvelle vérification, une nouvelle copie hors site) ou pour corriger une erreur matérielle. L’ancienne version passe à l’état Remplacé.

Le registre

Chaque certificat émis apparaît dans le registre avec son numéro, son statut (Valide, Remplacé, Révoqué), son type (Archive ou Fichier), le badge Horodaté s’il l’est, l’objet, son empreinte SHA-256, sa date et l’empreinte courte de la clé qui l’a signé.

Le menu ⋯ au bout de la ligne d’un certificat (« Actions sur … »), comme son menu contextuel (clic droit), propose Ouvrir le PDF, Afficher dans le Finder, Vérifier ce PDF et Révoquer….

Révoquer un certificat

Révoquez un certificat qui ne doit plus être cru. Dans Révoquer…, choisissez un motif (obligatoire) :

  • Objet détruit, perdu ou retiré : l’archive ou le fichier certifié n’existe plus ou a quitté le fonds ;
  • Certificat émis à tort : un doublon, le mauvais objet, ou un objet inexistant ;
  • Contrefaçon constatée sous ce numéro ;
  • Clé de signature compromise ;
  • Retrait par l’ayant droit ou décision de justice.

Une Précision facultative est consignée au journal. Le certificat reste au registre ; un certificat révoqué continue de se vérifier cryptographiquement, seul son statut change. Une simple erreur matérielle se corrige en réémettant, pas en révoquant.

Si la clé de signature elle-même est compromise, ne révoquez pas les certificats un par un : déclarez la clé compromise (ci-dessous), ce qui les révoque tous.

Retirer ou déclarer compromise la clé de signature

La section Historique des clés des réglages des certificats liste chaque clé de certificats que connaît votre bibliothèque : la clé actuelle, les clés retirées ou compromises, et le nombre de certificats que chacune a signés.

  • Retirer… (clé actuelle) : la clé ne signe plus et une nouvelle clé est créée, à sauvegarder avant d’émettre. Les certificats déjà émis restent valides : l’ancienne clé reste dans le fichier de clé publique.
  • Déclarer compromise… : à faire si la clé a pu être copiée (Mac volé, sauvegarde et phrase de passe divulguées). La clé ne signera plus jamais, même réinstallée depuis sa sauvegarde ; elle sort du fichier de clé publique et cette installation ne la reconnaît plus ; tous les certificats valides qu’elle a signés sont révoqués, motif « Clé de signature compromise ». Si c’était la clé actuelle, une nouvelle clé est créée, à sauvegarder avant d’émettre.

Après l’une ou l’autre, exportez à nouveau le fichier de clé publique et publiez-le : c’est ainsi que les détenteurs de vos certificats, sur la page web, cessent de faire confiance à une clé compromise (leurs certificats signés par elle ne se vérifient plus en ligne). Le statut de révocation lui-même reste tenu par votre registre : la page web ne le connaît pas.

Vérifier un certificat

Dans Obscura Vault

Cliquez sur Vérifier un PDF…, puis Choisir un certificat PDF…. La vérification fonctionne hors ligne, sur un certificat émis par n’importe quelle installation d’Obscura Vault.

La feuille « Vérifier un certificat » : verdict « Signature valide, clé reconnue », « Non révoqué », annexe certifiée et détails Numéro, Émetteur, Émis le, Objet, SHA-256, Clé, Horodatage et Adresse

Le résultat donne :

  1. Un verdict sur la signature :
    • Signature valide, clé reconnue : le contenu signé est intact et la clé est l’une de celles de cette installation ;
    • Intact, mais signé par une clé non reconnue : le document n’a pas été modifié, mais son origine n’est pas vérifiée (c’est le cas d’un certificat émis par une autre installation, et aussi de ce que produirait un faussaire avec sa propre clé) ;
    • Signature invalide — le contenu a été modifié : ne vous fiez pas à ce document ;
    • Certificat illisible ;
    • Version de manifeste non prise en charge : mettez Obscura Vault à jour ;
    • Aucun certificat dans ce PDF.
  2. Le statut de révocation : Non révoqué, Remplacé par une version ultérieure, Révoqué (date et motif), ou Statut de révocation inconnu quand ce document n’est pas dans le registre de cette installation. Vault reconnaît un certificat de son registre à son contenu signé et à sa signature, jamais à son seul numéro : toutes les installations numérotent à partir de …-00001, et le certificat d’un autre émetteur portant le même numéro n’est pas le vôtre.
  3. La cohérence de la page : Vault compare le texte imprimé aux valeurs signées, chemin du fichier compris (un long chemin, coupé n’importe où par la mise en page, est comparé sans ses retours à la ligne). Si des valeurs signées manquent sur la page : « La page imprimée contredit le manifeste signé ». Le texte de la page est lu par un petit service à part, sans accès à votre bibliothèque, à votre trousseau ni au réseau : un PDF piégé ne peut rien atteindre. Si ce service n’arrive pas à lire la page (PDF abîmé, trop gros, lecture trop longue), Vault l’indique (« Le texte de la page n’a pas pu être lu ») et donne quand même le verdict sur la signature.
  4. L’horodatage : absent (date déclarative), vérifié, ou un problème de jeton.
  5. L’annexe (certificat d’archive) : Vault cherche la liste des fichiers à côté du PDF (…-fichiers.json) et dit si c’est la liste certifiée, si elle a été modifiée, ou s’il ne l’a pas trouvée.

Chaque vérification est notée au journal (« Certificat vérifié »), et dans l’historique du certificat quand il est de votre registre.

Par un tiers, sur le web

La personne qui reçoit votre certificat n’a pas besoin d’Obscura Vault :

  1. Elle ouvre l’adresse imprimée sur le certificat, ou scanne son QR code : https://vault.obscuraflow.app/c/<numéro>/<version>.
  2. Elle dépose le PDF dans la page.

Le PDF est lu par son navigateur, en mémoire ; il n’est envoyé nulle part. La vérification se fait dans son navigateur : sa seule requête réseau est la lecture de votre fichier de clé publique, à l’adresse inscrite dans le certificat. À part, comme sur toutes les pages du site, la mesure d’audience de Cloudflare (Cloudflare Web Analytics, sans cookie) peut se charger et envoyer à Cloudflare l’adresse de la page, donc le numéro du certificat, et des temps de chargement ; jamais le PDF ni le résultat. Elle n’a pas lieu pour les visiteurs servis par un centre de données Cloudflare de l’Union européenne.

La page vérifie la signature Ed25519 sur les octets exacts du manifeste signé, l’empreinte de ces octets, que la clé figure dans le fichier que vous publiez, et que le numéro et la version signés sont ceux de l’adresse. Elle ne vérifie pas le statut au registre (affiché « inconnu hors registre »), ne valide pas l’horodatage (elle dit seulement s’il est présent), et ne vérifie pas votre identité : « valide » signifie « signé par la clé que publie cette adresse ». C’est pourquoi l’adresse de votre clé doit être sur un domaine qu’on vous associe.