Gratis — geen account nodig

Een document verifiëren

Controleer of een document door PDFengine is vastgelegd, en wanneer een onafhankelijke partij voor het eerst bevestigde dat het bestond.

Hoe het werkt

  1. 1. Geef het document, het bewijspakket (.zip) of de verificatiecode.
  2. 2. Wij berekenen de vingerafdruk en zoeken die op in de verankerde bomen.
  3. 3. Je krijgt drie losse controles: de bytes, de boom en de onafhankelijke bevestiging.
of

Deze pagina is een gemak. Het bewijspakket dat bij een document hoort is offline te controleren met standaardgereedschap — zonder PDFengine, en zonder ons op ons woord te geloven.

Zonder onafhankelijke controle

  • De datum in de bestandseigenschappen komt van een computerklok en is met een paar klikken te veranderen.
  • "Verzonden op" in een mailbox zegt wanneer een bericht langskwam, niet wat de bijlage toen bevatte.
  • Een screenshot van een PDF-viewer laat zien wat jij ziet, niet dat het bestand sindsdien onaangeroerd is.
  • Eén groen vinkje dat alles samenvat helpt niet als de tegenpartij juist één onderdeel betwist.

Met deze verificatiepagina

  • Drie losse controles: de bytes, de plek in de verankerde boom en de bevestiging door een derde partij.
  • Ons eigen moment en het onafhankelijke moment staan apart, en worden ook zo genoemd.
  • Publiek en zonder account, zodat de ontvanger van een document het zelf kan nakijken.
  • En wil je ons helemaal niet geloven: het bewijspakket controleert offline met openssl.

Hoe het werkt

1

Geef het bestand of de code

Slepen mag ook. Het bewijspakket levert de verwachte vingerafdruk mee, en daarmee kunnen we "gewijzigd" onderscheiden van "nooit gezien".

2

Wij zoeken de vingerafdruk op

Alleen de SHA-256-vingerafdruk gaat de opzoeking in. Je bestand wordt niet bewaard en de uitkomst noemt geen bestandsnaam, klant of inhoud.

3

Lees de drie controles los van elkaar

Bytes, boom en tijdstempel worden apart gerapporteerd. Wie een bewijs aanvecht wil weten wélk deel klopt, niet één vinkje dat alles samenvat.

Zelf controleren, zonder PDFengine

Dit is de echte controle. Hij draait op jouw machine, heeft alleen openssl nodig en gaat buiten ons om.

Vraag het bewijspakket op bij het document. Dat is een ZIP met deze bestanden:

  • proof.json — de vingerafdruk van je document, de broerhashes, de wortel en welke tijdstempeldienst tekende.
  • README.txt — dezelfde stappen als hieronder, meegeleverd zodat het pakket over tien jaar nog zelfstandig leesbaar is.
  • timestamp.tsr — het RFC 3161-tijdstempeltoken over de wortel.
  • tsa-chain.pem — de certificaatketen van de tijdstempeldienst.
  1. 1

    Bereken de vingerafdruk van je bestand

    De uitkomst moet exact gelijk zijn aan het veld sha256 in proof.json. Wijkt hij af, dan is het bestand aangepast of opnieuw opgeslagen.

    shasum -a 256 jouw-document.pdf
    
    # Windows:
    certutil -hashfile jouw-document.pdf SHA256
  2. 2

    Reken de wortel na

    Je document is één blad in een boom volgens RFC 6962. Hash een blad als SHA256(0x00 || digest-bytes) en elke knoop als SHA256(0x01 || links || rechts), waarbij je elke broer uit sibling_hashes aan de kant zet die zijn veld position noemt. Een knoop zonder broer schuift ongewijzigd een niveau omhoog en wordt nooit verdubbeld. Wat je overhoudt moet gelijk zijn aan root_hash in proof.json.

    leaf = SHA256(0x00 || sha256_van_je_document)
    node = SHA256(0x01 || links || rechts)
    
    # herhaal met elke broer uit sibling_hashes
    # tot je root_hash uit proof.json overhoudt
  3. 3

    Haal het wortelcertificaat zelf op

    Via de EU Trusted List of de publicatie van de tijdstempeldienst zelf — niet uit ons pakket. Een token controleren tegen een certificaat dat met dat token meereisde bewijst alleen dat het pakket intern klopt. In proof.json staat de vingerafdruk van de wortel die wij gebruikten, zodat je kunt vaststellen dat je dezelfde hebt opgehaald.

  4. 4

    Controleer het tijdstempeltoken

    Bij een verankerde ronde controleer je het token over de wortel. Staat er in proof.json een anchor_type dat geen merkle is, dan sla je stap 2 over en controleer je het token direct over het document.

    openssl ts -verify -digest <root_hash> -in timestamp.tsr \
        -untrusted tsa-chain.pem -CAfile <zelf opgehaalde root>
    
    # los gestempeld document (geen boom):
    openssl ts -verify -data jouw-document.pdf -in timestamp.tsr \
        -untrusted tsa-chain.pem -CAfile <zelf opgehaalde root>

Let op: opnieuw opslaan verandert de bytes. Zelfs een document dat je alleen opent en bewaart in Acrobat krijgt een andere vingerafdruk, terwijl niemand aan de inhoud kwam. Bewaar het originele bestand precies zoals je het ontving.

Wat deze controle bewijst: dat het document uiterlijk op het getoonde moment in precies deze vorm bestond en sindsdien niet is gewijzigd. Niet wie het maakte, en niet dat de inhoud waar is.

Wanneer gebruik je deze pagina?

Meestal ben je niet de maker van het document, maar de ontvanger.

Je kreeg een document met een verificatieregel

Onderaan het document staat een code. Plak die hier en je ziet wanneer een onafhankelijke partij bevestigde dat dit document bestond — zonder de afzender op zijn woord te hoeven geloven.

Je wilt weten of er iets is gewijzigd

Sleep het bewijspakket mee. Dan kunnen we "dit bestand is gewijzigd" onderscheiden van "dit bestand kennen we niet". Zonder pakket zien die twee er hetzelfde uit.

Je moet het bewijs voorleggen aan een derde

Een advocaat, auditor of rechter wil geen webpagina maar een controle die zij zelf kunnen draaien. Geef het bewijspakket mee en verwijs naar de stappen hierboven.

Veelgestelde vragen

Wat bewijst deze controle precies?

Dat het document uiterlijk op het getoonde moment in precies deze vorm bestond, en dat het sindsdien niet is gewijzigd. Niet wie het maakte, en niet dat de inhoud waar is.

Wordt mijn bestand opgeslagen als ik het hier upload?

Nee. Er wordt een SHA-256-vingerafdruk van berekend om mee op te zoeken; het bestand zelf bewaren we niet. Een opzoeking toont ook nooit een bestandsnaam, klant of inhoud — alleen verankeringsgegevens.

Waarom zie ik "geen bewijs vastgelegd" terwijl het document klopt?

Bij een kaal bestand zoeken we op de vingerafdruk. Eén gewijzigde byte — ook door opnieuw opslaan in Acrobat — levert een andere vingerafdruk op en dus geen record. Heb je het bewijspakket of de verificatiecode, gebruik die dan: daarmee is "gewijzigd" wél te onderscheiden van "nooit gezien".

Moet ik PDFengine vertrouwen om dit te kunnen controleren?

Nee, en dat is het punt. Het bewijspakket controleert offline met openssl, tegen een wortelcertificaat dat je zelf ophaalt via de EU Trusted List. Deze pagina is een gemak, geen schakel in het bewijs.

Wat betekent "gekwalificeerd" bij de tijdstempel?

Dat de tijdstempel is uitgegeven door een gekwalificeerde vertrouwensdienstverlener op de EU Trusted List. Onder artikel 41 van eIDAS geldt dan het wettelijk vermoeden dat de datum, de tijd en de integriteit kloppen — de tegenpartij moet aantonen dat het níet klopt.

Waarom kan het bevestigde moment later liggen dan het moment van vastleggen?

Documenten worden in rondes verankerd. Wij noteren je document meteen; de onafhankelijke bevestiging volgt in de eerstvolgende ronde. Het werkelijke moment van bestaan ligt dus op of vóór de getoonde tijd, nooit erna.

Kan ik ook een e-mail of een ander bestandstype controleren?

Ja. De controle draait op de bytes van het bestand, dus het bestandstype maakt niet uit. Een .eml of .msg werkt net zo goed als een PDF, zolang het bestand exact is zoals het werd vastgelegd.

Drie soorten bewijs, drie verschillende vragen

Ze lijken op elkaar, maar beantwoorden niet hetzelfde. Dit is welke je wanneer nodig hebt.

Vingerafdruk

Beantwoordt de vraag
Verschilt deze versie van die andere, en op welk vlak?
Waar het bewijs zit
In een token en een JSON-bestand die je zelf bewaart.
Wanneer het klaar is
Direct.
Zichtbaar in Acrobat
Nee.
Werkt op
PDF, Office, afbeeldingen en e-mail met bijlagen.
Kosten
1 credit per bestand.

Bewijspakket Je bent hier

Beantwoordt de vraag
Bestond dit bestand al op dat moment, en is het sindsdien ongewijzigd?
Waar het bewijs zit
In een los ZIP-bestand naast je document, offline na te rekenen.
Wanneer het klaar is
Verankerd in de dagelijkse ronde; bij opvragen wordt meteen gestempeld.
Zichtbaar in Acrobat
Nee.
Werkt op
Alles wat je bij ons omzet.
Kosten
Zit bij de conversie; downloaden vereist een betaald abonnement.

Gekwalificeerde tijdstempel

Beantwoordt de vraag
Bestond dit document al op dat moment — en kan de ontvanger dat meteen zien?
Waar het bewijs zit
In de PDF zelf, als PAdES DocTimeStamp.
Wanneer het klaar is
Direct.
Zichtbaar in Acrobat
Ja, groen vinkje.
Werkt op
Elke PDF die je uploadt, ook van elders.
Kosten
20 credits, betaald account.

Ze sluiten elkaar niet uit: een document kan tegelijk een vingerafdruk, een bewijspakket en een ingebedde tijdstempel hebben.

Nog een document controleren?

Gratis, zonder account, en je bestand blijft van jou.