This page does not exist in English yet. You are reading the Dutch version.
Signing a PDF with your eID
In hoofdstuk 7.1 ondertekende je een zinnetje over de afwas. Het sleutelpaar daarvoor maakte je ter plekke in je browser, en toen je het tabblad sloot was het weg — het had nooit ergens anders bestaan. Hier doe je precies hetzelfde, maar met een sleutel die je niet gemaakt hebt en niet kan kopiëren, omdat hij in een stukje plastic in je portefeuille zit. En je ondertekent geen zinnetje maar een echt document. Wat eruit komt, is voor de wet je handtekening.
Woorden die je zo nodig hebt
- PAdES
- Kort voor PDF Advanced Electronic Signatures. De afspraak over hoe een digitale handtekening in een PDF-bestand opgeborgen wordt, zodat elke lezer ze op dezelfde manier terugvindt. Vastgelegd door ETSI, het Europese normalisatie-instituut voor telecom, in de norm EN 319 142.
- Handtekeningcertificaat
- Het certificaat op je eID dat bij de
sign-sleutel hoort, apart van dat voor inloggen. Je krijgt het pas vanaf je achttiende. - eIDAS
- De Europese verordening die zegt wat een elektronische handtekening juridisch waard is. Verordening (EU) nr. 910/2014, van 23 juli 2014.
- Gekwalificeerde elektronische handtekening
- De zwaarste van de drie soorten die eIDAS kent. Alleen deze is wettelijk gelijkgesteld met een handtekening met een pen. Er zijn twee voorwaarden: een gekwalificeerd certificaat, en een apparaat dat je private sleutel niet loslaat. Je eID is allebei.
- Tijdstempel
- Een ondertekende verklaring van een onafhankelijke dienst: "dit document bestond in deze vorm op dit uur van deze dag". Zonder tijdstempel bewijst een handtekening niet wanneer ze gezet is.
- Valideren
- Nakijken of een handtekening klopt: of het zegel bij het document past, of het certificaat van een vertrouwde uitgever komt, en of dat certificaat op dat moment nog geldig was.
Wat er gebeurt als je op "onderteken" klikt
- Het hele PDF-bestand wordt gehasht (hoofdstuk 2). Van een document van drie megabyte blijft één getal van 32 bytes over. Verander er één komma aan en dat getal is volledig anders.
- Alleen die hash gaat naar de chip van je kaart. Het document zelf niet: daar heeft de chip de plaats noch de rekenkracht voor, en hij hoeft het ook niet te zien.
- Je geeft je pincode. De chip ondertekent de hash met de
sign-sleutel — de private helft van een sleutelpaar (hoofdstuk 6) die de chip nooit verlaat, zoals je in hoofdstuk 8.2 zag. Wat eruit komt is alleen de handtekening. - Die handtekening gaat het PDF-bestand in, samen met je handtekeningcertificaat en de certificaten daarboven, tot aan de Belgische Staat — de ketting uit hoofdstuk 7.2. Zonder die ketting weet een lezer wel dat er getekend is, maar niet door wie.
- Er wordt een tijdstempel bij gehaald en mee ingesloten, zodat later vaststaat wanneer je tekende, ook als je certificaat intussen verlopen is.
PAdES: de handtekening zit ín het document
Een ingescande krabbel onderaan een blad is een plaatje. Het staat naast de tekst en weet niets van de tekst. Iemand kan het eronder wegknippen en onder een ander document plakken, of het bedrag erboven veranderen, en aan het plaatje is niets te zien. Het bewijst dus enkel dat er ooit ergens een handtekening bestond.
Een PAdES-handtekening is geen plaatje maar een berekening over de bytes van het bestand. Ze zit in het PDF-bestand zelf opgeborgen, op een vaste plek die elke PDF-lezer kent, met erbij welk stuk van het bestand ondertekend is. Verander daar één teken in en de hash uit stap 1 klopt niet meer, dus het zegel klopt niet meer, en elke lezer zegt dat. Er is geen "bijna goed" — precies zoals in de demo van hoofdstuk 7.1.
| Gescande krabbel of plaatje | PAdES-handtekening | |
|---|---|---|
| Hangt vast aan | niets — het is een afbeelding | de bytes van het document |
| Wijziging achteraf | onzichtbaar | breekt de handtekening |
| Wie tekende | wie de krabbel kan natekenen | wie de private sleutel in handen had |
| Na te maken met | knippen en plakken | niets wat vandaag bestaat |
PAdES is geen apart uitvindsel voor PDF. Eronder zit CMS, hetzelfde pakketformaat voor ondertekende gegevens dat ook onder ondertekende e-mail ligt, in de ETSI-uitvoering die CAdES heet. PAdES is de afspraak over hoe je zo'n pakket netjes in een PDF-bestand krijgt.
auth of sign: hier is het sign
Je kaart heeft twee sleutels, en het verschil is geen technisch detail.
auth zegt "dit ben ik" — dat is een inlogpoging, en die kan je
morgen gewoon opnieuw doen of niet doen. sign zegt "ik ga
akkoord met wat hierboven staat". Een document ondertekenen is dat tweede,
en dus gebruikt deze dienst sign.
Onderteken nooit iets wat je niet gelezen hebt. Dit is de
belangrijkste zin van dit hoofdstuk. De chip leest je document niet, kijkt
niet of het redelijk is en waarschuwt je nergens voor; hij rekent een zegel
uit over de bytes die hij krijgt. Dat zegel is juridisch even geldig als je
handtekening met een pen, en je kan het achteraf niet ontkennen en niet
terugnemen. Wie je pincode voor sign vraagt, vraagt je
handtekening — niet je wachtwoord.
Wat de wet ervan zegt
eIDAS kent drie niveaus van elektronische handtekening: gewoon, geavanceerd en gekwalificeerd. Alleen het laatste is gelijkgesteld met een handtekening met de hand. Artikel 25 van Verordening (EU) nr. 910/2014 zegt dat een gekwalificeerde elektronische handtekening hetzelfde rechtsgevolg heeft als een handgeschreven handtekening. De twee andere niveaus mag een rechter niet weigeren omdat ze elektronisch zijn, maar die gelijkstelling krijgen ze niet.
Je eID zit in dat bovenste niveau. Het certificaat bij de
sign-sleutel heet in de officiële documenten letterlijk
"Gekwalificeerd Certificaat voor Elektronische Handtekeningen", en het
certificaat voor inloggen uitdrukkelijk niet — dat onderscheid is met opzet
gemaakt.
In 2024 is eIDAS herzien door Verordening (EU) 2024/1183 van 11 april 2024, die je meestal eIDAS 2 ziet heten. Die voegt het Europese kader voor een digitale identiteitsportefeuille op je telefoon toe. Aan de drie niveaus en aan de gelijkstelling van de gekwalificeerde handtekening verandert ze niets.
Twee redenen waarom het misschien nog niet lukt. Het
handtekeningcertificaat komt pas op je kaart vanaf je achttiende; ben je
jonger, dan staat er alleen auth op en kan je wel inloggen maar
niet ondertekenen. Dat is geen technische beperking maar een juridische: een
minderjarige kan zich meestal niet rechtsgeldig binden. En sinds
21 mei 2026 doen de oudste kaarten niet meer mee — het
handtekeningcertificaat op eID's die vóór 4 juli 2016 uitgereikt
werden, verloor die dag zijn kwalificatie. Inloggen met zo'n kaart kan nog,
ondertekenen niet meer; de overheid zet daarvoor een aparte dienst op. Zie
de mededeling van Binnenlandse Zaken.
Onderteken een echte PDF
Let op: je document gaat hier wél naar een server. Bij elke andere demo op deze site blijft alles in je browser; hier niet. Je PDF wordt geüpload, want daar wordt de hash berekend en daar wordt de handtekening weer in het bestand gestopt. De dienst schrijft daarover: "Je PDF wordt enkel tijdelijk verwerkt en na het ondertekenen verwijderd. Er wordt niets bewaard." Dat kan je van buitenaf niet nakijken — je vertrouwt het of je doet het niet. Je pincode gaat wél nergens heen: die typ je in de eID-software op je eigen computer. Zet je een zichtbare stempel, dan komen je naam, je rijksregisternummer en de datum in beeld in het document; die staan sowieso al in het certificaat dat meegaat.
De dienst heet eID PDF-handtekening en staat op pdfsign.hermesplatform.be. Gratis, zonder account. Ze komt van dezelfde maker als deze site en gebruikt hetzelfde beID-platform als de demo in hoofdstuk 8.2 — dat hoor je te weten voor je iets uploadt, want van buiten zie je het niet.
- Zorg dat je klaarstaat zoals in hoofdstuk 8.2: kaartlezer aangesloten, de eID-software van de overheid en de helper geïnstalleerd, kaart en pincode bij de hand. Op een gsm werkt dit niet.
- Sleep je PDF in het vak, of klik om te bladeren. Enkel PDF, maximaal 10 MB. De bestandsnaam en de grootte verschijnen; met Ander bestand kiezen begin je opnieuw.
- Klik Onderteken met eID. Je krijgt je document te zien met een handtekeningvak erop. Sleep dat naar de plek waar je stempel moet komen; met Vorige pagina en Volgende pagina kies je de bladzijde.
- Klik Verder naar ondertekenen. Wil je geen stempel in beeld, maar wel een geldige handtekening, kies dan Onderteken zonder zichtbare stempel — de handtekening zit daarna nog altijd in het bestand, alleen zie je ze niet staan.
- Steek je kaart in de lezer en geef je pincode. Lees eerst wat er in
het document staat. Dit is
sign. - Je krijgt de ondertekende PDF terug om te downloaden. Bewaar dat bestand zoals je het krijgt: sla het niet opnieuw op met een ander programma, want dan schrijf je over de bytes waar de handtekening op slaat.
Weigert de dienst je bestand met de melding dat het een modern xref-streamformaat gebruikt, dan is dat geen fout van jou: niet elke PDF-variant wordt aanvaard. Druk het document af naar PDF of sla het opnieuw op, en probeer opnieuw.
Hoe je nakijkt of het gelukt is
Open de ondertekende PDF in een lezer die handtekeningen kent — Adobe Acrobat Reader doet dat. Bovenaan verschijnt een balk die zegt dat het document ondertekend is. Klap het handtekeningpaneel open en je ziet wie getekend heeft, wanneer, en de zin waar het om draait: dat het document sinds die handtekening niet meer gewijzigd is. Vind je die zin niet, dan is er iets mis.
Wil je niet alleen op Adobe steunen, dan is er de validatietool van de Europese Commissie: de DSS-demo. Daar upload je je PDF en krijg je een rapport terug van een partij die niets met je document of met deze dienst te maken heeft. Dat is het punt van een norm als PAdES: iedereen controleert hetzelfde bestand op dezelfde manier, en je hoeft daarvoor niemand op zijn woord te geloven.
Wil je zien dat het echt werkt: maak een kopie, bewerk die kopie, verander één letter en sla op. Open hem opnieuw. De lezer meldt nu dat het document na het ondertekenen gewijzigd is. Dat is dezelfde Verifiëren-knop uit hoofdstuk 7.1, alleen ingebouwd in je PDF-lezer.
Dit is wiskunde: één handtekening onder twee documenten
Je chip heeft je document nooit gezien. Ze zette een zegel op 32 bytes. Dat die handtekening tóch over het hele document gaat, is geen wet maar een aanname — en er zijn twee heel verschillende manieren om ze onderuit te halen.
De eerste: iemand heeft jouw ondertekende contract en zoekt er achteraf een ander document bij met exact dezelfde hash. Dat is een bepaalde waarde raken, en dat kost bij SHA-256 ongeveer 2256 pogingen. Die weg is dicht en blijft dicht.
De tweede: iemand maakt vooraf twee documenten die dezelfde hash hebben, laat jou het onschuldige tekenen, en plakt je handtekening op het andere. Nu moet hij geen bepaalde waarde raken maar enkel twee stukken laten samenvallen — de verjaardagsparadox uit hoofdstuk 2 — en dat kost de wortel daarvan: 2128. Dezelfde hash, maar 2128 keer minder werk — alleen doordat de vraag anders gesteld is.
Dat is geen gedachte-experiment. Op 23 februari 2017 publiceerden het CWI in Amsterdam en Google twee PDF-bestanden met verschillende inhoud en exact dezelfde SHA-1-hash. Het kostte hun 9 223 372 036 854 775 808 berekeningen — precies 263 — en zo'n 110 000 dollar aan gehuurde rekentijd. SHA-1 was toen al op weg naar buiten; die dag was het gedaan. Wat vandaag ondertekend wordt, gebruikt SHA-256 of sterker. Dit is complexiteitstheorie: het vak dat niet vraagt of iets kan, maar hoeveel werk het kost — en dat hier bepaalt hoeveel een handtekening waard is.