Signature electronique

Références

Généralité

Technique

softwares

Reglementation

JSignPdf

raisons

choix de JsignPdf principalement pour:

  1. JSignPdf is open-source software and can be freely used in both private and business sectors
  2. JSignPdf is released under Mozilla Public License (version 1.1 or later) and GNU LGPL (version 2.1 or later).
  3. visible signatures - image and/or description located visualy in a PDF file (page and position can be specified)
  4. support for batch processing (controlled by command line arguments, without GUI)

Cela correspond bien au choix “d'ecole” que nous mettons en oeuvre et aux moyens associés .

Usage

Example d'usage de JsignPDF

Parametrage du logiciel avec nos certificats

positionnement d'un signature visible

Exemple de fichier signé, cf bas de la 2eme page

sirfex-jres-84-6-jsign.pdf

Potentiel probleme de verification d'une signature par acrobat Reader lié a l'autorité Comodo non reconnue, cf http://superuser.com/questions/465219/comodo-pdf-sign-doesnt-verify-in-adobe-using-jsignpdf

En indiquant dans acrobat reader via options⇒ preferences ⇒ protection ⇒ préférences avancés, de le lire le magasin Windows:

Alors la signature est maintenant correctement verifiée

Signature en ligne de commande openssl

Exemple inspiré de http://www-lor.int-evry.fr/~michel/OpenSSL/EssaisSignatures.html avec openssl en cli

1) Signature avec la clé privée

$ openssl dgst -binary -out article-jres-84-6-signature.sig -sign ../secret.key article-jres-84-6.pdf 

$ ls -ltr | tail -2 
-rw-r--r--. 1 jehan 1000 316494 27 avril 12:42 article-jres-84-6.pdf
-rw-r--r--. 1 jehan 1000    256 27 avril 12:47 article-jres-84-6-signature.sig

2) Extraction de la clée publique du certificat correspondant à la clée privée ci-dessus

$ openssl x509 -pubkey -noout -in ../cert-2233-MTIMT.pem > ../cert-2233-MTIMT-pubkey-format.pem
$ ls -ltr | tail -1 
-rw-r--r--. 1 jehan 1000    451 27 avril 12:50 cert-2233-MTIMT-pubkey-format.pem

3) Verification avec la clé publique de la signature (externe au document initial)

$ openssl dgst -signature article-jres-84-6-signature.sig -verify cert-2233-MTIMT-pubkey-format.pem article-jres-84-6.pdf 
Verified OK