Signature de PDF | |||||||||||||||||||||||||||||||||||
|
Il existe désormais de nombreux outils pour signer les PDF: le produit officiel d'Adobe Acrobat ou d'autres outils d'éditeurs tiers (plugin ou autonome). Vous trouverez ici les pointeurs vers les outils, et comment vérifier les signatures. Pour que le destinataire reconnaisse la signature avec votre certificat, il faut :
| |||||||||||||||||||||||||||||||||||
| [Nouvelle Entrée dans Signature de PDF] | |||||||||||||||||||||||||||||||||||
| 2009-Oct-15 12:58pm | |||||||||||||||||||||||||||||||||||
Utilitaires gratuits TBS Signature PDF | |||||||||||||||||||||||||||||||||||
|
Dans le but de satisfaire une demande croissante de sécurisation de documents échangés au travers des réseaux, nous avons développés deux outils.
Version 0.1
Ils nécessitent un JRE 1.5 ou supérieur.
Version 0.2Cette version supporte l'horodatage et permet d'afficher un visuel sur le statut de la signature dans le PDF.
Ils nécessitent un JRE 1.6 ou supérieur.
NotesMerci de poster vos améliorations ou commentaires dans la section Questions Ouvertes ci-dessous. Nous ne fournissons aucun support.
| |||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||
| [Nouvelle Entrée dans Utilitaires gratuits TBS Signature PDF] | |||||||||||||||||||||||||||||||||||
| 2010-Jan-08 1:56pm | |||||||||||||||||||||||||||||||||||
Outil de signature TBSSignaturePDF | |||||||||||||||||||||||||||||||||||
GénéralitésIl s'agit d'un utilitaire, en ligne de commande, qui permet, comme son nom l'indique, de modifier un document PDF en lui rajoutant une signature. Doté d'une grande facilité d'utilisation, cet utilitaire ne nécessite aucune installation : il suffit de le télécharger et de le copier dans le répertoire à partir duquel on veut l'exécuter.La commande de lancement est de la forme : java -jar TBSSignaturePDF.jar -in xxx -pkcs12 xxx -passwd xxx De plus cet outil dispose d'options facultatives qui vous permettront, entre autres, d'horodater vos documents PDF. L'horodatage permet d'associer de manière sûre une heure à votre document afin d'établir de manière fiable l'heure à laquelle le document à été réalisé. L'outil est utilisable sous Windows et sous Linux. Il a été développé sous un environnement Java 1.6.
ParamètresL'utilitaire prend en arguments plusieurs paramètres regroupés en deux grandes catégories:Paramètres obligatoires : -in fichierPDF -pkcs12 fichierpkcs12 -passwd motdepasse -alias nom-du-cert Paramètres facultatifs : -out fichierPDFsigné -mode PPK* -reason motif -location localisation -visibleSignature -visibleSignllx 50 -visibleSignllx 75 -visibleSignurx 100 -visibleSignury 100 -visibleSignNumPage 5 -tsaHost http://url.com/tsa -tsaLogin login -tsaPasswd passWord -proxyHost host -proxyPort port -proxyLogin login -proxyPasswd passwd
Détails paramètres
HorodatagePourquoi horodater votre document PDF ? L'horodatage permet d'associer une heure de création fiable à votre document. L'horodatage est réalisé par un serveur externe considéré comme étant "de confiance". Le principe est le même que la cachet de la poste sur une lettre recommandée, on considère la date indiquée sur ce cachet comme étant la véritable date d'envoi. Comme nous venons de l'expliquer vous devez passer par un serveur externe. Vous trouverez sur ce site une liste de serveurs d'horodatages gratuits : security.polito.it/ts.Peut être utilisez-vous un proxy ? Si c'est le cas les requêtes d'horodatages ne pourrons pas être envoyées. Pour résoudre ce problème vous devrez indiquer les paramètres du proxy grâce aux différents paramètres "-proxyHost", "-proxyLogin", "-proxyPasswd".
Certificat de signatureLe fichier pkcs12 utilisé par l'application est un "magasin de certificats" ou "keystore". Qu'est ce qu'un magasin de certificats ? C'est un fichier qui contient plusieurs certificats. Pour pouvoir les différencier nous utilisons un "alias". Un alias est une chaine d'identification unique dans le magasin. Pour que l'application de signature de pdf sache quel certificat utiliser dans le magasin il faut donc spécifier l'alias qui correspond au bon certificat de signature. Si nous ne spécifions pas d'alias l'application prendra le premier contenu dans le magasin.
Comment trouver l'alias du certificat à utiliser ?
ExemplesSignature du document PDF mondoc.pdf avec le certificat clef1 contenu dans le magasin maclef.pfxjava -jar TBSSignaturePDF.jar -in mondoc.pdf -pkcs12 macle.pfx -passwd maclepwd -alias clef1
Signature du document PDF mondoc.pdf en spécifiant le nom d'un fichier de destination Remarque : pour les noms de fichiers, veillez à spécifier les chemins absolus.
Signature du document PDF mondoc.pdf avec horodatage grâce au serveur (fictif) http://tsa.serv.com
Signature du document PDF mondoc.pdf avec horodatage grâce au serveur (fictif) http://tsa.serv.com nécessitant une identification par login/mot de passe
Signature du document PDF mondoc.pdf avec horodatage grâce au serveur (fictif) http://tsa.serv.com et en passant un proxy avec identification
ProblèmesSi vous rencontrez une erreur de ce type :java.io.IOException: exception unwrapping private key - java.security.InvalidKeyException: Illegal key size ...due à une utilisation d'une clef trop grande (> 1024 bits), voici comment corriger le problème :
CréditsNos remerciements vont, entre autres, à Bruno Lowagie et Paulo Soares pour toutes les classes qu'ils ont mis à disposition du public sous licence GPL et qui ont facilité le développement de notre outil.
| |||||||||||||||||||||||||||||||||||
Script complémentairePour faciliter l'usage courant de l'utilitaire, nous vous proposons un petit script bash qui permet de stocker les paramètres par défaut, et vous évite de saisir le mot de passe sur la ligne de commande (pour que l'historique ne la stocke pas).
Usage: pdf-signe.sh nom-du-pdf.pdf ["motif de la signature"]Il suffit de télécharger le programme et de modifier les 13 variables du début pour s'adapter à votre environnement. Exemple d'utilisation: $ pdf-signe 20070119_tarifs_tbs-certificats.pdf "tarifs approuvés" /home/tag/NT-E/archives/cert/20100120-staff-tag.pfx Mot de passe du certificat ci-dessus ? ---------------------------------------------------------- Bienvenue dans le programme de Signature de documents PDF Vous voulez signer le document 20070119_tarifs_tbs-certificats.pdf.nosig avec le certificat /home/tag/NT-E/archives/cert/20100120-staff-tag.pfx d'alias cert1 en utilisant le mode PPKMS Vous voulez horodater le document avec le serveur : http://tsa.serv.com Raison : tarifs approuvés Localisation : TBS INTERNET - Caen Etape 1 : Chargement du KeyStore et de la clé . KeyStore OK Clé privée OK Etape 2 : Gestion des fichiers. Fichiers OK Etape 3 : Apposition de la signature + du jeton d'horodatage. Le programme de signature de documents PDF s'est déroulé avec succés. Le pdf signé se trouve ici : 20070119_tarifs_tbs-certificats.pdf | |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2010-Jan-14 10:13am | |||||||||||||||||||||||||||||||||||
Outil de vérification TBSSignaturePDFVerify | |||||||||||||||||||||||||||||||||||
GénéralitésCet outil vérifie la validité de la signature apposée sur un document PDF. L'outil affiche également les informations de sujet et d'émetteur du certificat à l'origine de la signature et les informations d'un éventuel horodatage.Cette vérification s'effectue au niveau de :
La commande de lancement est de la forme : java -jar TBSVerifySignaturePDF.jar -in xxx
ParamètresL'utilitaire prend en arguments un paramètre indispensable : -in fichierPDF Paramètres facultatifs : -ks keystore.p12 -pwd motdepasse -out fichierderevision -proxyHost proxy -proxyPort numero -crl fichier_crl -proxyLogin login -proxyPasswd s3cret Détails paramètres
-in fichierPDF : le fichier PDF concerné par la vérification.
ExemplesVérification du document PDF : mondoc.pdf java -jar TBSVerifySignaturePDF.jar -in mondoc.pdf
Signature du document PDF mondoc.pdf en spécifiant les informations de proxy
Signature du document PDF mondoc.pdf en spécifiant un keystore utilisateur
Remarque : pour les noms de fichiers, veillez à spécifier les chemins absolus.
Déroulement de l'applicationLorsque vous lancez l'application vous allez voir apparaitre 4 étapes :
CréditsNos remerciements vont, entre autres, à Bruno Lowagie et Paulo Soares pour toutes les classes qu'ils ont mis à disposition du public sous licence GPL et qui ont facilité le développement de notre outil.
| |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2010-Jan-14 10:26am | |||||||||||||||||||||||||||||||||||
Glossaire utilitaires | |||||||||||||||||||||||||||||||||||
|
Pour de plus amples informations sur les certificats, n'hésitez pas à consulter les autres pages de notre FAQ.
Les définitions sont pour la plupart, tirées des sites fr.wikipedia.org ou www.dicofr.com .
| |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2007-Jan-09 8:49pm | |||||||||||||||||||||||||||||||||||
Questions courantes sur la signature des PDF | |||||||||||||||||||||||||||||||||||
|
Pour de plus amples informations sur les certificats, n'hésitez pas à parcourir les autres pages de notre FAQ.
La signature est un procédé cryptographique visant à garantir l'intégrité du document signé et l'identité du signataire.
Remarque : dans la gestion des identités, si le certificat à l'origine de la signature est considéré comme faisant partie des « identités approuvées », les vérifications sont réduites au strict minimum.
Cas d'erreur :java.io.FileNotFoundExceptionjava.lang.NoClassDefFoundError
java.io.FileNotFoundException
java.lang.NoClassDefFoundError
| |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2007-Jan-09 8:51pm | |||||||||||||||||||||||||||||||||||
Questions ouvertes | |||||||||||||||||||||||||||||||||||
|
Cette section est libre d'accès, vous pouvez y placer vos questions, réponses, etc.
| |||||||||||||||||||||||||||||||||||
| [Nouvelle Entrée dans Questions ouvertes] | |||||||||||||||||||||||||||||||||||
| 2010-Mar-31 1:20pm | |||||||||||||||||||||||||||||||||||
répertoire dans -out | |||||||||||||||||||||||||||||||||||
| Il est impossible de spécifier un répertoire de fichier dans le paramètre -out de TBSSignaturePDF (c'est le répertoire du -in qui est pris en compte par défaut). D'autre part la saisie dans le -in de répertoires ou de fichiers contenant un espace est impossible.
| |||||||||||||||||||||||||||||||||||
| Il est possible qu'il y ait de tels bugs, il serait intéressant que quelqu'un corrige.
| |||||||||||||||||||||||||||||||||||
FixéCes soucis ont été réparés dans la version 0.2 | |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2010-Jan-11 2:00pm | |||||||||||||||||||||||||||||||||||
Signer ou verrouiller le PDF ? | |||||||||||||||||||||||||||||||||||
|
Les fonctions dites de sécurité de PDF ne sont pas de confiance. Que ce soit pour bloquer l'ouverture du fichier, ou limiter les droits. Il existe des logiciels pour "déplomber" les PDF (voir http://www.elcomsoft.com/apdfpr.html ). Plutôt que de se reposer sur un sécurité illusoire (anti-modification du fichier par exemple), il faut signer électroniquement vos PDF. Certes les modifications du PDF sont possibles, mais le certificat électronique indiquera alors le fichier comme modifié.
| |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2010-Jan-31 5:54pm | |||||||||||||||||||||||||||||||||||
Problemas son TBSSignaturePDF-0.1 avec PDF | |||||||||||||||||||||||||||||||||||
| Salutations, J'avais l'habitude de dater leur TBSSignaturePDF-0.1.jar fichier pour enregistrer ma signature électronique sur des fichiers PDF avec la funtion de transcrire ci-dessous, élaboré en VBA, facilitée par un développeur web convivial aussi mettre l'adresse. Mais quelque chose s'est passé et maintenant je obtenir un système d'erreur, qui se compose de: Exception in thread "main" targetexception java.lang.reflect.invocation At sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) At sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source) At sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source) Au org.eclipse.jdt.internal.jarinjalloader.jarRssrcLoader.main (JarRsrcLoader.java: 56) Java.lang.VerifyError caused by:: (class: com / Lowagie / text / pdf / PdfSignaturaAppearance, méthode: la signature de près: <ICOM / Lowagie / text / pdf / pdfdictionary,> V> argument incompatibles à la fonction Au signature.TBSSignaturePDF.main <TBSSignaturePDF.java: 124
5 plus ...
Et la VBA fonction que j'utilise est:Public Function SignPdf (FileName As String, Certificat As String, CertificatKey As String) As Boolean 'http://www.quickpdf.org/forum/forum_posts.asp?TID=437 StrTemp As String
RepFile As String Dim
RepFile = CurrentProject.Path 'FileNamePath (FileName)
strTemp = "java-jar" & Chr (34) & CurrentProject.Path & "\ TBSSignaturePDF-0.1.jar" & Chr (34) & ""
strTemp = strTemp & "-in" & Chr (34) & FileName & Chr (34) & ""
strTemp = strTemp & "" pkcs12 "& Chr (34) et certificat & Chr (34) &" "
strTemp = strTemp & "-passwd" & CertificatKey & ""
strTemp = strTemp & "-ppkLite mode"
strTemp = strTemp & "motif-raison" Je certifie l'exactitude et la validité de ce «document»
strTemp = strTemp & "" location "de Barcelone"
«Tuez-le fichier temp vieux cas échéant
On Error Resume Next
Kill RepFile & "\ signed.pdf"
On Error GoTo 0
StrTemp SyncShell,, -1
«Si nous avons obtenu le contrôle signed.pdf
If Dir (RepFile & "\ signed.pdf") <> "" Then
«La signature est ok
SignPdf = True
'copier le fichier temporaire, en écrasant le PDF original
Kill FileName
Nom RepFile & "\ signed.pdf" Comme FileName
Autre
«La signature a échoué
SignPdf = False
End If
End Function
Ayez la bonté de me faire une idée de ses causes et solutions possibles. Ils peuvent m'écrire à AngelMiguelPozanco@gmail.com | |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2010-Mar-31 9:19am | |||||||||||||||||||||||||||||||||||
Nouvelle Entrée | |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2010-Mar-31 1:20pm | |||||||||||||||||||||||||||||||||||
Outils permettant la signature de PDF | |||||||||||||||||||||||||||||||||||
Nous n'avons testé aucun de ces produits. D'après leur documentation, nous avons classifié les produits en deux catégories.
Ne nécessite pas de plugin pour la vérification dans Acrobat reader 6+:
| |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2008-Jan-07 10:07am | |||||||||||||||||||||||||||||||||||
Outils permettant la vérification de signature de PDF | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2007-Jan-11 3:09pm | |||||||||||||||||||||||||||||||||||
Comment réagit acrobat reader quand le certificat du signataire a expiré? | |||||||||||||||||||||||||||||||||||
|
Dans les versions testées jusqu'à présent, Acrobat Reader indique que la validation du certificat n'est plus possible car on n'est plus dans la période de validité. Idéalement, il faudrait que le Reader puisse déterminer si à la date de signature du PDF, le certificat était valide. Hors une fois le certificat expiré, il ne figure plus dans la liste de révocation (si il y avait figuré). Le Reader ne peut donc pas savoir si il est valide, et il le considère donc comme invalide et non vérifiable. Il est donc préférrable d'utiliser un jeu de certificats de longueu durée de vie pour signer des documents qui doivent être valident longtemps.
| |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2007-Jan-26 3:49pm | |||||||||||||||||||||||||||||||||||
Programme de reconnaissance AATL | |||||||||||||||||||||||||||||||||||
|
Adobe a lancé un programme pour l'ajout de la reconnaissance de nouvelles autorités de certification dans Acrobat Reader 9 et Acrobat 9. Nous espérons que ce programme permette de reconnaitre nos certificats à terme. voir http://www.adobe.com/security/approved-trust-list.html
| |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2009-Jul-22 3:52pm | |||||||||||||||||||||||||||||||||||
Reconnaissance des certificats tiers dans Acrobat Reader | |||||||||||||||||||||||||||||||||||
|
Par défaut, seuls les certificats émis avec un partenariat Adobe sont reconnus... Pour activer la reconnaissance de certificats tiers, on peut :
| |||||||||||||||||||||||||||||||||||
|
Voici l'affichage visible lorsqu'un PDF est signé par un certificat non-reconnu par adobe (barre bleue en haut)
| |||||||||||||||||||||||||||||||||||
| [Nouvelle Entrée dans Reconnaissance des certificats tiers dans Acrobat Reader] | |||||||||||||||||||||||||||||||||||
| 2010-May-20 2:02pm | |||||||||||||||||||||||||||||||||||
Importation des certificats TBS X509 dans Adobe | |||||||||||||||||||||||||||||||||||
|
Pour ajouter les racines des certificats que nous utilisons pour de la signature de PDF, téléchargez http://www.tbs-x509.com/TBSX509CA-pdf.p7b .
Dans Acrobat Reader 7, 8 ou 9, allez dans le menu Document, "(Manage) Trusted Identities" ou "(Gérer) Identités approuvées". Puis sur "Add Contact" puis Browse. Sélectionnez alors le fichier TBSX509CA-pdf.p7b
Terminez le cliquant le bouton "Importer". Désormais les PDFs signés par nos certificats seront reconnus dans votre logiciel Adobe Acrobat Reader. (Note: dans Acrobat Reader 7, les certificats non-dérivés de la racine Adobe n'héritent pas des réglages de confiance. Il est peut être nécessaire de définir les droits sur chaque racine générant des certificats end-entity.)
| |||||||||||||||||||||||||||||||||||
| [Nouvelle Entrée dans Importation des certificats TBS X509 dans Adobe] | |||||||||||||||||||||||||||||||||||
| 2010-Jan-26 2:36pm | |||||||||||||||||||||||||||||||||||
Configurer les autres racines | |||||||||||||||||||||||||||||||||||
Nos certificats sont chaînés avec d'autres racines. Si vous le souhaitez, vous pouvez leur configurer les droits suivants:
| |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2007-Jan-25 2:06pm | |||||||||||||||||||||||||||||||||||
Configurer Acrobat Reader 6+ pour vérifier les PDF en utilisant la base Windows | |||||||||||||||||||||||||||||||||||
|
Attention: cette page a un caractère informatif, nous ne recommandons pas ce réglage pour des raisons de sécurité.
| |||||||||||||||||||||||||||||||||||
|
Sous Windows, vous pouvez configurer votre Adobe Acrobat Reader pour exploiter la base des autorités de certification Windows, celle qui est utilisée par votre Internet Explorer. Pour cela il faut le Reader version 6 ou supérieur.
Evidement, d'un point de vue de la sécurité, autoriser toutes les autorités présentes dans Microsoft à valider les PDF est un peu génant, à moins de n'avoir conservé que les racines de confiance.
| |||||||||||||||||||||||||||||||||||
Copie d'écran de la configuration la plus fonctionnelle (mais moins sécurisée):
| |||||||||||||||||||||||||||||||||||
Copie d'écran de la configuration la plus stricte:
| |||||||||||||||||||||||||||||||||||
| [Contribuer à cette Entrée] | |||||||||||||||||||||||||||||||||||
| 2009-Dec-16 3:52pm |
| Précédent: |
|
| Suivant: |
|
| ||||
| C'est une Faq-O-Matic 2.721. |