24eme / signaturepdf

Free open-source web software for signing PDFs (alone or with others) and also organize pages, edit medata and compress pdf
https://pdf.24eme.fr
GNU Affero General Public License v3.0
399 stars 52 forks source link

Signature numérique avec certificat p12 #47

Open ldubost opened 2 years ago

ldubost commented 2 years ago

Il serait intéressant d'être capable de faire des signatures numériques PKCS#7 avec des certificats p12

ldubost commented 2 years ago

Une implement de signature numérique a été réalisé dans l'intégration cryptpad (voir #46). Le code est ici:

https://github.com/xwiki-labs/cryptpad/blob/e4ba39bdd00e8affacf1b7f8e1ff1648a919bfba/www/sign/inner.js#L955

Cela utilise un fork de node-signpdf https://github.com/ldubost/node-signpdf qui permet de faire un build client-side webpack de node-signpdf (non disponible dans la version original)

Ce fork inclus aussi une modularisation permettant de faire de la signature PDF par certificat p12 mais aussi avec une delegation de la signature à une clé USB.

Plus d'explications sont disponible au début du readme: https://github.com/ldubost/node-signpdf

ldubost commented 2 years ago

Le readme explique aussi l'implementation de signature clé USB avec 2 programmes supplémentaires:

Firefox Web Extension: https://github.com/ldubost/pkcs7sign-webextension-firefox
NodeJS Host for Web Extension: https://github.com/ldubost/pkcs7sign-host-nodesigning
ldubost commented 2 years ago

La partie UI de la signature digitale est pour l'instant incomplète. Le certificat p12 est acutellement hardcodé et un bouton spéciale est mis pour dire qu'on veut une signature digitale. Le password du certificat p12 est demandé (client side) et le certificat est utilisé pour signer. Il est prévu dans cryptpad de stocker le certificate p12 dans le drive et aussi possiblement de proposer aux utilisateurs de générer des certificats avec une autorité de certification cryptpad (mais ce travail est non prioritaire actuellement)

wincelau commented 11 months ago

Related #81