62 votes

Signer numériquement les fichiers PDF

J'ai un certificat numérique qui identifie un utilisateur. J'ai besoin de l'utiliser pour signer numériquement des fichiers pdf.

Quelqu'un a-t-il un exemple qui n'utilise pas de composant tiers ? J'ai besoin de faire ce travail, mais il serait bon de bien comprendre comment les choses se passent.

Exemples C# s'il vous plaît :)

44voto

Darin Dimitrov Points 528142

La source ouverte iTextSharp vous permettra de le faire. Voici une poste expliquant comment signer numériquement un fichier PDF. Si vous ne voulez pas utiliser une bibliothèque tierce, vous pouvez l'implémenter vous-même, mais cela peut être une tâche difficile -> vous pouvez commencer par lire le document spécification du pdf (8.6MB)

11voto

La signature correcte du PDF est une très une tâche sophistiquée. Il existe un certain nombre de fichiers qui ne sont pas conformes à la spécification PDF (xréfs cassées, etc.) et votre code doit les traiter tous. De plus, les différentes versions d'Acrobat traitent différemment certains éléments des champs signés. Par conséquent, si vous avez besoin d'effectuer cette tâche (plutôt que d'étudier son fonctionnement), vous devez vous fier à une solution tierce, telle que notre solution PDFBlackbox composants.

6voto

AffineMesh Points 669

La signature numérique d'un document PDF sans l'utilisation d'un composant tiers demande beaucoup de travail et est généralement à éviter.

Les composants font tout le travail difficile pour vous, pour que vous n'ayez pas à le faire. Vous devriez découvrir qu'il existe d'excellents composants PDF gratuits qui répondront à vos besoins.

L'exemple suivant, écrit en C#, montre à quel point il est simple de signer numériquement un document PDF en utilisant ABCpdf :

Doc theDoc = new Doc();
theDoc.Read(Server.MapPath("../Rez/Authorization.pdf"));
Signature theSig = (Signature)theDoc.Form["Signature"];
theSig.Location = "Washington";
theSig.Reason = "Schedule Agreed";
theSig.Sign(Server.MapPath("../Rez/JohnSmith.pfx"), "111111");
theDoc.Save(Server.MapPath("Signed.pdf"));

Source : Documentation ABCpdf - Méthode de signature

4voto

Corne Points 186

Jetez un coup d'œil à cet article sur CodeProject

1voto

user337658 Points 1

J'ai perdu ma première réponse. Vous pouvez essayer DocQ pour texte du lien Ils ont leur propre certificat et peuvent le faire pour vous gratuitement/à moindre coût pour sceller et crypter les PDF. Ils ont également une API que vous pouvez utiliser.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X