Half jaartje terug heb ik een bv opgericht. Een van de eisen van een bv is dat je alles zakelijk aanpakt, en dus ondanks dat er maar 1 aandeelhouder/bestuurder (DGA) in 't spel is, je toch van alles op papier vastlegt. Om die reden printte ik alle overeenkomsten uit, zette er een tweetal handtekeningen onder, en scande 'm dan weer in met een app op m'n mobiel.
Nu heb ik recentelijk een andere werkmaatschappij opgezet met een compagnon, en ik zag het niet zitten dat 1 van ons dan een eerder ingescande overeenkomst zou moeten uitprinten. Uiteindelijk heb je toch iedere keer een paar procent verlies, en 't is zonde van de
inkt toner als er ergens een stukje ingescande 'schaduw' ofzo moet worden uitgeprint.
Om die reden ben ik ook op zoek gegaan naar een tool om documenten te kunnen signen. Ik had een paar requirements:
- Het moet op z'n minst met digital signatures (zoals een pgp fingerprint) werken, niet alleen met electronic signatures (zoals een plaatje).
- Ik wil de signatures in hetzelfde bestand op kunnen slaan als de oorspronkelijke PDF
- Het moet op linux werken. Omdat zowel mijn compagnon als ik allebei standaard op Linux werken.
Lang verhaal kort, ik kon niet echt iets vinden wat aan dit lijstje van eisen voldeed, en om die reden ben ik zelf maar iets gaan typen. Het is redelijk barebones, maar ik ben er wel van overtuigd dat het cryptografisch verantwoord is. Hoe het werkt is dat je een PGP key moet hebben, vervolgens kan je opgeven ./imprimatur sign document.pdf . Vervolgens kan ik het document opsturen naar m'n compagnon, die hetzelfde doet met het doorgestuurde document. ./imprimatur verify document.signed.pdf laat de fingerprints zien van alle keys die het document gesigned hebben en of de signature ook matcht met die key.
Onder water wordt bij iedere nieuwe signature aan 't einde van het document nieuwe metadata toegevoegd (na een null byte separator, waardoor pdf clients dit allemaal lijken te negeren). In die metadata staat de gebruikte public key, datum van ondertekenen, etc. Op de regel daarna een signature van het volledige document, inclusief alle metadata die daarboven staat.
Het signen van die data doe ik gelukkig niet zelf, maar gebeurt via de pgp-agent socket.
offtopic:
Het doel van deze post vooral om wat input te geven waar mijn zoektocht in uitmondde - niet om te spammen. Mocht iemand het toch leuk vinden, tool is hier te vinden:
https://github.com/Freeaqingme/Imprimatur
No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.