Vous n'avez pas besoin d'un outil de signature électronique pour signer des documents numériques. Mais comment faire ? Vous pouvez utiliser des langages de programmation tels que C#. Ainsi, tout ce dont vous avez besoin, c'est d'un IDE plutôt que d'un outil spécialisé dans la signature électronique. Si vous êtes programmeur, vous en avez probablement déjà un. Vous pouvez donc vous y plonger directement. Si vous êtes curieux d'en savoir plus sur la signature numérique C#, poursuivez votre lecture.
Ne vous inquiétez pas si vous n'êtes pas un programmeur. Nous avons également fourni un outil alternatif, Wondershare PDFelement, qui est très convivial !
- Partie 1. Comment ajouter un champ de signature certifiée à un PDF à l'aide de C# Digital Signature
- Partie 2. Comment signer un PDF à l'aide de la signature numérique C#
- Partie 3. Comment vérifier une signature certifiée sur un PDF à l'aide de la signature numérique C#
- Partie 4. Ajouter une signature certifiée à un PDF sans utiliser C# : Utiliser Wondershare PDFelement
Partie 1. Comment ajouter un champ de signature certifiée à un PDF à l'aide de C# Digital Signature
Avant de pouvoir signer un PDF à l'aide de C#, vous devez d'abord ajouter un champ de signature. C'est là que se trouve la signature. Ne vous inquiétez pas.
- Obtenez le PDF et la page en utilisant ce code :
using (PDFDoc doc = new PDFDoc(docpath))
{ Page page1 = doc.GetPage(1); }
- Créez un champ de texte que vous pouvez verrouiller à l'aide de la fonction d'autorisation de champ. Utilisez ce code :
TextWidget annot1 = TextWidget.Create(doc, new Rect(50, 550, 350, 600), "new_text_field");
page1.AnnotPushBack(annot1);
- Créez un champ de signature dans le PDF à l'aide de cet extrait de code :
DigitalSignatureField certification_sig_field = doc.CreateDigitalSignatureField(cert_field_name);
SignatureWidget widgetAnnot = SignatureWidget.Create(doc, new Rect(0, 100, 200, 150), certification_sig_field); page1.AnnotPushBack(widgetAnnot);
- Supposons que vous ayez préparé une apparence de champ de signature. Ajoutez-le au PDF à l'aide de cet extrait de code :
Image img = Image.Create(doc, appearance_image_path); widgetAnnot.CreateSignatureAppearance(img);
Si vous n'avez pas fait apparaître de champ de signature, vous pouvez sauter cette étape.
- Préparer le niveau d'autorisation de verrouillage du document, qui sera appliqué après le processus de certification du document.
certification_sig_field.SetDocumentPermissions(DigitalSignatureField.DocumentPermissions.e_annotating_formfilling_signing_allowed);
- Préparez-vous maintenant à verrouiller le champ de texte que vous avez créé à l'étape 2.
string[] fields_to_lock = new string[1]; fields_to_lock[0] = "new_text_field"; certification_sig_field.SetFieldPermissions(DigitalSignatureField.FieldPermissions.e_include, fields_to_lock);
certification_sig_field.CertifyOnNextSave(private_key_file_path, keyfile_password);
- Enregistrez le document en appelant la méthode Save. PDFNet signera le document à l'aide des informations fournies.
doc.Save(outpath, 0);
Le code devrait ressembler à ceci :
using (PDFDoc doc = new PDFDoc(docpath))
{
Page page1 = doc.GetPage(1);
TextWidget annot1 = TextWidget.Create(doc, new Rect(50, 550, 350, 600), "new_text_field");
page1.AnnotPushBack(annot1);
DigitalSignatureField certification_sig_field = doc.CreateDigitalSignatureField(cert_field_name);
SignatureWidget widgetAnnot = SignatureWidget.Create(doc, new Rect(0, 100, 200, 150), certification_sig_field); page1.AnnotPushBack(widgetAnnot);
Image img = Image.Create(doc, appearance_image_path); widgetAnnot.CreateSignatureAppearance(img);
certification_sig_field.SetDocumentPermissions(DigitalSignatureField.DocumentPermissions.e_annotating_formfilling_signing_allowed);
string[] fields_to_lock = new string[1]; fields_to_lock[0] = "asdf_test_field";
certification_sig_field.SetFieldPermissions(DigitalSignatureField.FieldPermissions.e_include, fields_to_lock);
certification_sig_field.CertifyOnNextSave(private_key_file_path, keyfile_password);
doc.Save(outpath, 0);
}
Partie 2. Comment signer un PDF à l'aide de la signature numérique C#
Maintenant que le PDF comporte un champ de signature, vous pouvez enfin le signer. Suivez les étapes suivantes pour le signer avec la signature numérique C# :
- Récupérez le champ de la signature non signée à l'aide de cet extrait de code :
using (PDFDoc doc = new PDFDoc(docpath))
{
Field found_approval_field = doc.GetField(approval_field_name);
DigitalSignatureField approval_digsig_field = new DigitalSignatureField(found_approval_field);
}
- Préparez la signature et le gestionnaire de signature pour la signature à l'aide de cet extrait C# :
approval_digsig_field.SignOnNextSave(private_key_file_path, keyfile_password);
- Effectuez une opération d'enregistrement incrémentiel pour enregistrer le document avec la signature.
doc.Save(outpath, SDFDoc.SaveOptions.e_incremental);
Le code final devrait ressembler à ceci :
using (PDFDoc doc = new PDFDoc(docpath))
{
Field found_approval_field = doc.GetField(approval_field_name);
DigitalSignatureField approval_digsig_field = new DigitalSignatureField(found_approval_field);
approval_digsig_field.SignOnNextSave(private_key_file_path, keyfile_password);
doc.Save(outpath, SDFDoc.SaveOptions.e_incremental);
}
Partie 3. Comment vérifier une signature certifiée sur un PDF à l'aide de la signature numérique C#
C# permet également de vérifier une signature certifiée. Cependant, vous avez besoin d'une API de signature numérique spéciale comme l'API de vérification de signature numérique d'apryse Docs.
Pourquoi le faire ? Vous devez vous assurer que les signatures numériques sont authentiques et non falsifiées. Il garantit également que l'accord est juridiquement contraignant.
Pour vérifier une signature numérique avec C#, procédez comme suit :
- Choisissez un niveau de sécurité à utiliser. Ensuite, modifiez les options de vérification que vous souhaitez.
VerificationOptions opts = new VerificationOptions(VerificationOptions.SignatureVerificationSecurityLevel.e_compatibility_and_archiving);
- Ajoutez une racine de confiance pour stocker les certificats de confiance contenus dans VerificationOptions.
opts.AddTrustedCertificate(in_public_key_file_path);
- Vérifiez la signature numérique.
PDFDoc.SignaturesVerificationStatus result = doc.VerifySignedDigitalSignatures(opts);
Le code complet devrait ressembler à ceci :
using (PDFDoc doc = new PDFDoc(in_docpath))
{
VerificationOptions opts = new VerificationOptions(VerificationOptions.SignatureVerificationSecurityLevel.e_compatibility_and_archiving);
opts.AddTrustedCertificate(in_public_key_file_path);
PDFDoc.SignaturesVerificationStatus result = doc.VerifySignedDigitalSignatures(opts);
}
Vous pouvez obtenir les résultats suivants :
- SignaturesVerificationStatus.e_unsigned: Le PDF ne comporte pas de champs de signature.
- SignaturesVerificationStatus.e_failure: Il y a un échec brutal dans la vérification d'au moins une signature. Il n'inclut pas les questions de confiance.
- SignaturesVerificationStatus.e_untrusted: La fiabilité d'au moins une signature n'a pas pu être vérifiée.
- SignaturesVerificationStatus.e_verified: Toutes les signatures figurant dans le document sont vérifiées. Veuillez noter que les champs non signés sont ignorés.
Partie 4. Ajouter une signature certifiée à un PDF sans utiliser C# : Utiliser Wondershare PDFelement
L'utilisation de la signature numérique C# pour signer des PDF pose un problème flagrant. C'est trop technique. Vous devez être un programmeur ou au moins connaître le langage C# pour le faire. Il est donc impossible pour les personnes ne maîtrisant pas la technologie de le faire.
Heureusement, il existe des outils plus simples que vous pouvez utiliser pour signer des documents numériques, dont Wondershare PDFelement. Wondershare PDFelement est un outil universel car tout le monde peut l'utiliser. La convivialité est l'une des qualités pour lesquelles il est réputé. En effet, il vous permet de signer ou même de recueillir des signatures très facilement.
Veuillez noter que Wondershare PDFelement eSign adhère aux normes légales et industrielles telles que ISO 27001 et HIPAA. Vous avez donc l'assurance que les documents signés sont authentiques et sécurisés. Il dispose même d'un vérificateur de certificats intégré !
Mais trêve d'introduction. Laissez-nous vous expliquer comment utiliser Wondershare PDFelement eSign.
Partie 4.1. Comment envoyer des PDF pour signature
C'est exact. Wondershare PDFelement ne se contente pas de vous permettre de signer des PDF. Il vous permet également de recueillir les signatures d'autres personnes. Vous pouvez ainsi conclure des accords même si vous n'êtes pas physiquement ensemble. Wondershare PDFelement fournit également des notifications lorsqu'une personne a signé le document. Ainsi, vous ne manquerez jamais une occasion de passer immédiatement à l'étape suivante.
Voici les étapes à suivre pour collecter des signatures avec Wondershare PDFelement :
- Ouvrez l'accord nécessitant la signature d'autres personnes sur Wondershare PDFelement. Cliquez sur Protéger > Demander une signature électronique.
- Une nouvelle fenêtre s'ouvre. Ajoutez les adresses électroniques des signataires dans le champ "Ajouter des destinataires".
- Choisissez de signer le document en premier ou en dernier. Cochez la case correspondant à votre décision.
- Sous "Paramètres", définissez l'ordre de signature et la fréquence des mises à jour.
- Cliquez Suivant.
- Ajoutez et attribuez les champs de signature essentiels par glisser-déposer.
- Cliquez Envoyer.
Partie 4.2. Comment signer des PDF avec Wondershare PDFelement
Que se passe-t-il si c'est vous qui devez signer le document ? Comme mentionné ci-dessus, Wondershare PDFelement vous permet également de le faire. Il existe deux méthodes. Vous pouvez signer le PDF à l'aide de l'application de bureau ou du lien e-mail. Nous examinerons les deux méthodes :
A. Signer des PDF à l'aide de l'application Wondershare PDFelement Desktop
- Ouvrez Wondershare PDFelement et connectez-vous à votre compte. Cliquez sur Accord dans le panneau de gauche. Ouvrez un accord intitulé "En attente de signature" (Attente pour moi).
- Cliquez sur la balise Signer pour être dirigé vers les champs de signature où vous devez signer.
- Sélectionnez le champ de signature pour le signer.
- Créez votre signature en la tapant, en la dessinant ou en téléchargeant une image. Cliquez OK.
- Cliquez sur Cliquer pour signer dans la barre de notification qui apparaît en bas, puis cliquez sur Suivant.
B. Signer des PDF à l'aide de l'application Wondershare PDFelement Desktop
Supposons que vous soyez loin de chez vous. Vous n'avez pas votre ordinateur portable avec vous. Vous pouvez toujours signer les documents en utilisant le bouton de signature sur la notification par courriel. Pour ce faire, suivez les instructions suivantes :
- Ouvrez la notification par courriel de la demande de signature électronique. Cliquez sur le bouton Signer le document.
- Cochez la case pour accepter les conditions générales d'utilisation et la politique de confidentialité afin d'utiliser les enregistrements électroniques et la signature. Cliquez sur Continuer.
- Cliquez sur le champ de signature que vous souhaitez signer. Si c'est la première fois que vous signez des documents de ce type, créez votre signature. Vous pouvez taper, dessiner ou télécharger une image.
- Cliquez sur Enregistrer pour appliquer la signature au document et enregistrer la signature pour une utilisation ultérieure.
Conclusion
Vous pouvez utiliser C# pour ajouter des signatures numériques aux PDF. Mais cela ne signifie pas que vous devez étudier la programmation juste pour le faire. Il existe des méthodes alternatives, dont beaucoup sont plus faciles à réaliser.
L'un des meilleurs outils pour signer les PDF est Wondershare PDFelement. Il s'agit d'une solution PDF dotée de nombreux outils utiles. Sa fonction eSign conforme aux normes vous permet de signer facilement des PDF. De plus, il vous permet d'envoyer des demandes de signature à d'autres personnes. C'est pourquoi de nombreuses personnes choisissent Wondershare PDFelement comme outil de signature électronique. Cela dit, il s'agit d'un projet à découvrir.
Clara Durand
staff Éditeur