Passer au contenu du pied de page
UTILISATION DE IRONPDF

Guide des signatures PDF ASP .NET : Ajouter des signatures numériques aux PDF dans les projets .NET Core

L'envoi de contrats ou de factures non vérifiés est un risque que la plupart des entreprises ne peuvent se permettre. Vous devez avoir la certitude que vos documents sont légalement valides et qu'ils n'ont pas été modifiés. C'est exactement ce que font les signatures numériques, elles agissent comme un sceau de cire numérique pour vos fichiers.

Si vous créez une application ASP.NET Core, vous craignez peut-être que l'ajout du chiffrement soit compliqué. Ce n'est pas une obligation. Dans ce guide, nous utiliserons IronPDF pour mener à bien cette tâche. Il s'agit d'un module simple qui simplifie l'ensemble du processus de signature sur votre serveur.

Que vous ayez besoin d'une signature strictement cryptographique ou d'une signature visible par les utilisateurs, cette bibliothèque s'en charge. Vous pouvez installer la bibliothèque directement dans Visual Studio via la console NuGet Package Manager ou la télécharger depuis le site officiel. Essayez IronPDF gratuitement aujourd'hui et ne manquez pas de nous suivre lorsque nous explorerons la manière de gérer la signature des fichiers PDF avec IronPDF

NuGet Installer avec NuGet

PM >  Install-Package IronPdf

Consultez IronPDF sur NuGet pour une installation rapide. Avec plus de 10 millions de téléchargements, il transforme le développement PDF avec C#. Vous pouvez également télécharger le DLL ou l'installateur Windows.

Qu'est-ce qu'une signature numérique PDF et pourquoi l'utiliser en ASP.NET?

Une signature numérique est une signature cryptographique qui authentifie l'identité du signataire et garantit que le document PDF n'a pas été modifié. Contrairement à une simple signature électronique (comme un nom dactylographié), une signature numérique utilise un cryptage basé sur un certificat pour créer un sceau infalsifiable. Cela permet de sécuriser efficacement le contenu du message du fichier.

Dans les applications ASP.NET Core, les PDF signés numériquement sont essentiels pour les flux de travail de génération de PDF impliquant des contrats, des factures et des documents de conformité. Les utilisateurs peuvent valider ces signatures dans Adobe Acrobat Reader ou tout autre visualiseur PDF compatible pour confirmer l'état actuel du document. Le processus de signature se déroule côté serveur, ce qui permet à votre application web de signer les documents automatiquement pendant le traitement sans nécessiter une version spécifique du logiciel client.

Comment ajouter une signature numérique à un document PDF à l'aide d'un certificat?

La méthode la plus sûre pour signer un fichier PDF consiste à utiliser un fichier de certificat .pfx ou .p12. Pour les environnements de développement et de test, vous pouvez générer un certificat auto-signé. Cette approche applique une signature cryptographique qui peut être vérifiée par n'importe quel lecteur de PDF prenant en charge les signatures numériques.

Le code ci-dessous montre comment créer un nouveau PdfDocument et le signer. Notez que nous définissons le mot de passe comme une chaîne de caractères et que nous utilisons l'espace de noms System pour les types de base.

[HttpPost("sign-basic")]
public IActionResult SignWithCertificate()
{
    var renderer = new ChromePdfRenderer();
    var document = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms...</p>");
    string certPath = Path.Combine(_environment.ContentRootPath, "Certificates/certificate.pfx");
    var signature = new PdfSignature(certPath, "yourPassword")
    {
        SigningContact = "legal@company.com",
        SigningLocation = "Chicago, USA",
        SigningReason = "Document Approval"
    };
    document.Sign(signature);
    string outputPath = Path.Combine(Path.GetTempPath(), "signed-contract.pdf");
    document.SaveAs(outputPath);
    return PhysicalFile(outputPath, "application/pdf", "signed-contract.pdf");
}
[HttpPost("sign-basic")]
public IActionResult SignWithCertificate()
{
    var renderer = new ChromePdfRenderer();
    var document = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms...</p>");
    string certPath = Path.Combine(_environment.ContentRootPath, "Certificates/certificate.pfx");
    var signature = new PdfSignature(certPath, "yourPassword")
    {
        SigningContact = "legal@company.com",
        SigningLocation = "Chicago, USA",
        SigningReason = "Document Approval"
    };
    document.Sign(signature);
    string outputPath = Path.Combine(Path.GetTempPath(), "signed-contract.pdf");
    document.SaveAs(outputPath);
    return PhysicalFile(outputPath, "application/pdf", "signed-contract.pdf");
}
Imports Microsoft.AspNetCore.Mvc
Imports System.IO

<HttpPost("sign-basic")>
Public Function SignWithCertificate() As IActionResult
    Dim renderer = New ChromePdfRenderer()
    Dim document = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms...</p>")
    Dim certPath As String = Path.Combine(_environment.ContentRootPath, "Certificates/certificate.pfx")
    Dim signature = New PdfSignature(certPath, "yourPassword") With {
        .SigningContact = "legal@company.com",
        .SigningLocation = "Chicago, USA",
        .SigningReason = "Document Approval"
    }
    document.Sign(signature)
    Dim outputPath As String = Path.Combine(Path.GetTempPath(), "signed-contract.pdf")
    document.SaveAs(outputPath)
    Return PhysicalFile(outputPath, "application/pdf", "signed-contract.pdf")
End Function
$vbLabelText   $csharpLabel

PDF signé numériquement avec une signature certifiée

ASP .NET PDF Signatures Guide : Ajouter des signatures numériques aux PDF dans les projets .NET Core : Image 1 - PDF de sortie avec signature certifiée

Cet exemple de code utilise ChromePdfRenderer pour générer un PDF, puis initialise la signature. Bien qu'il n'existe pas de classe autonome strictement nommée new PdfCertificate dans l'API publique (généralement gérée via PdfSignature), vous créez conceptuellement un nouvel objet de certificat pour la signature. La méthode Sign applique la signature numérique et SaveAs exporte le fichier PDF signé. Vous pouvez également enregistrer dans un MemoryStream pour les scénarios de réponse web dans lesquels vous devez accéder au flux pour renvoyer le document directement au client.

Les propriétés des métadonnées de la signature intègrent des détails supplémentaires qui s'affichent lorsque les utilisateurs vérifient la signature. Pour plus d'options, consultez la PdfSignature documentation de la classe.

Comment créer une signature visible sur un PDF?

Bien que les signatures cryptographiques assurent la sécurité, de nombreux flux de travail nécessitent une représentation visuelle de la signature sur la page PDF. IronPDF prend en charge l'ajout d'un élément d'image, tel qu'un scan de signature manuscrite ou un tampon d'entreprise, aux côtés de la signature cryptographique. Par défaut, les signatures peuvent être invisibles, mais vous pouvez modifier ce comportement.

[HttpPost("sign-visible")]
public IActionResult SignWithVisibleImage()
{
    // Load existing PDF
    string pdfPath = Path.Combine(_environment.ContentRootPath, "Documents", "invoice.pdf");
    var document = PdfDocument.FromFile(pdfPath);
    // Certificate + image
    string certPath = Path.Combine(_environment.ContentRootPath, "Certificates", "certificate.pfx");
    string imagePath = Path.Combine(_environment.ContentRootPath, "Images", "signature-image.png");
    var signature = new PdfSignature(certPath, "yourPassword");
    var rect = new IronSoftware.Drawing.Rectangle(50, 100, 200, 80);
    signature.LoadSignatureImageFromFile(imagePath, 0, rect);
    // Sign the PDF
    document.Sign(signature);
    string outFile = Path.Combine(Path.GetTempPath(), "signed-visible.pdf");
    document.SaveAs(outFile);
    return PhysicalFile(outFile, "application/pdf", "signed-visible.pdf");
}
[HttpPost("sign-visible")]
public IActionResult SignWithVisibleImage()
{
    // Load existing PDF
    string pdfPath = Path.Combine(_environment.ContentRootPath, "Documents", "invoice.pdf");
    var document = PdfDocument.FromFile(pdfPath);
    // Certificate + image
    string certPath = Path.Combine(_environment.ContentRootPath, "Certificates", "certificate.pfx");
    string imagePath = Path.Combine(_environment.ContentRootPath, "Images", "signature-image.png");
    var signature = new PdfSignature(certPath, "yourPassword");
    var rect = new IronSoftware.Drawing.Rectangle(50, 100, 200, 80);
    signature.LoadSignatureImageFromFile(imagePath, 0, rect);
    // Sign the PDF
    document.Sign(signature);
    string outFile = Path.Combine(Path.GetTempPath(), "signed-visible.pdf");
    document.SaveAs(outFile);
    return PhysicalFile(outFile, "application/pdf", "signed-visible.pdf");
}
Imports Microsoft.AspNetCore.Mvc
Imports System.IO

<HttpPost("sign-visible")>
Public Function SignWithVisibleImage() As IActionResult
    ' Load existing PDF
    Dim pdfPath As String = Path.Combine(_environment.ContentRootPath, "Documents", "invoice.pdf")
    Dim document = PdfDocument.FromFile(pdfPath)
    ' Certificate + image
    Dim certPath As String = Path.Combine(_environment.ContentRootPath, "Certificates", "certificate.pfx")
    Dim imagePath As String = Path.Combine(_environment.ContentRootPath, "Images", "signature-image.png")
    Dim signature = New PdfSignature(certPath, "yourPassword")
    Dim rect = New IronSoftware.Drawing.Rectangle(50, 100, 200, 80)
    signature.LoadSignatureImageFromFile(imagePath, 0, rect)
    ' Sign the PDF
    document.Sign(signature)
    Dim outFile As String = Path.Combine(Path.GetTempPath(), "signed-visible.pdf")
    document.SaveAs(outFile)
    Return PhysicalFile(outFile, "application/pdf", "signed-visible.pdf")
End Function
$vbLabelText   $csharpLabel

PDF signé avec une signature visible

ASP .NET PDF Signatures Guide : Ajouter des signatures numériques aux PDF dans les projets .NET Core : Image 2 - Signature visible sur le PDF

La méthode LoadSignatureImageFromFile ajoute une image de signature visible au document PDF, offrant à la fois une sécurité cryptographique et un élément visuel familier. Elle répond aux exigences des parties prenantes qui s'attendent à voir une signature sur la page.

Vous pouvez également charger des images à partir d'un flux en utilisant LoadSignatureImageFromStream. En savoir plus sur la signature de PDF avec des éléments visuels.

Comment ajouter des champs de formulaire de signature pour la signature de l'utilisateur?

Pour les documents nécessitant la signature d'utilisateurs externes, vous pouvez créer des champs de signature interactifs dans le formulaire PDF. Cela permet aux destinataires de signer le document à l'aide de leur propre certificat ou logiciel de signature électronique.

[HttpGet("generate-form")]
    public IActionResult GenerateSignableForm()
    {
        var renderer = new ChromePdfRenderer();
        var PDF = renderer.RenderHtmlAsPdf(@"
    <h1>Agreement Form</h1>
    <p>Please sign below to accept the terms.</p>
    <div style='border:1px solid black;width:300px;height:100px;'>Signature:</div>
");
        var field = new SignatureFormField(
            "ClientSignature",
            0,
            50,
            200,
            300,
            100
        );
        pdf.Form.Add(field);
        string outputPath = Path.Combine(Path.GetTempPath(), "agreement-form.pdf");
        pdf.SaveAs(outputPath);
        return PhysicalFile(outputPath, "application/pdf", "agreement-form.pdf");
    }
[HttpGet("generate-form")]
    public IActionResult GenerateSignableForm()
    {
        var renderer = new ChromePdfRenderer();
        var PDF = renderer.RenderHtmlAsPdf(@"
    <h1>Agreement Form</h1>
    <p>Please sign below to accept the terms.</p>
    <div style='border:1px solid black;width:300px;height:100px;'>Signature:</div>
");
        var field = new SignatureFormField(
            "ClientSignature",
            0,
            50,
            200,
            300,
            100
        );
        pdf.Form.Add(field);
        string outputPath = Path.Combine(Path.GetTempPath(), "agreement-form.pdf");
        pdf.SaveAs(outputPath);
        return PhysicalFile(outputPath, "application/pdf", "agreement-form.pdf");
    }
Imports Microsoft.AspNetCore.Mvc
Imports IronPdf

<HttpGet("generate-form")>
Public Function GenerateSignableForm() As IActionResult
    Dim renderer As New ChromePdfRenderer()
    Dim PDF = renderer.RenderHtmlAsPdf("
    <h1>Agreement Form</h1>
    <p>Please sign below to accept the terms.</p>
    <div style='border:1px solid black;width:300px;height:100px;'>Signature:</div>
")
    Dim field As New SignatureFormField("ClientSignature", 0, 50, 200, 300, 100)
    PDF.Form.Add(field)
    Dim outputPath As String = Path.Combine(Path.GetTempPath(), "agreement-form.pdf")
    PDF.SaveAs(outputPath)
    Return PhysicalFile(outputPath, "application/pdf", "agreement-form.pdf")
End Function
$vbLabelText   $csharpLabel

Fichier PDF avec champ de signature

ASP .NET PDF Signatures Guide : Ajouter des signatures numériques aux PDF dans les projets .NET Core : Image 3 - PDF avec champ de formulaire de signature

Ce code crée un document PDF avec un champ de signature intégré. Les champs du formulaire définissent l'emplacement exact de la page et les dimensions de la signature. Lorsque les utilisateurs ouvrent le fichier dans Adobe Acrobat Reader ou un autre logiciel de visualisation de PDF, ils peuvent cliquer sur le champ et apposer leur signature numérique.

Pour les applications traitant des formulaires de manière programmatique, IronPDF prend en charge le chargement de PDF existants avec des champs de signature. Découvrez d'autres capacités des formulaires PDF.

Conclusion

La mise en œuvre des signatures PDF ASP .NET avec IronPDF constitue une solution simple et intégrée pour la signature sécurisée de documents. La bibliothèque PDF prend en charge plusieurs approches de signature - des signatures cryptographiques basées sur des certificats aux images de signature visibles et aux champs de formulaire interactifs - vous offrant ainsi la flexibilité nécessaire pour répondre aux exigences de votre application.

IronPDF gère la complexité du traitement des PDF sur votre serveur .NET Core, ce qui vous permet de générer, de signer et d'exporter des documents sécurisés avec un minimum de code. Les PDF signés restent compatibles avec des logiciels standard tels qu'Adobe Acrobat Reader pour la vérification, ce qui permet à vos utilisateurs de se fier à l'authenticité du document.

Prêt à mettre en œuvre la signature PDF dans votre projet ? Achetez une licence IronPDF pour une utilisation en production, ou téléchargez une version d'essai gratuite pour explorer toutes les fonctionnalités dans votre environnement de développement. Pour l'assistance technique et les commentaires, l'équipe d'Iron Software se tient à votre disposition pour répondre à vos questions et vous aider à créer des flux de documents sécurisés.

Questions Fréquemment Posées

Qu'est-ce qu'une signature numérique dans ASP.NET Core ?

Une signature numérique dans ASP.NET Core est comme un sceau de cire numérique utilisé pour vérifier l'authenticité et l'intégrité des documents PDF. Elle garantit que les documents sont légalement valides et qu'ils n'ont pas été modifiés.

Comment puis-je ajouter une signature numérique à un document PDF à l'aide d'IronPDF ?

Vous pouvez ajouter une signature numérique à un document PDF à l'aide d'IronPDF en incluant un certificat et en le configurant pour signer le document, garantissant ainsi qu'il est à la fois sécurisé et vérifiable.

Pourquoi les signatures numériques sont-elles importantes pour mes documents commerciaux ?

Les signatures numériques sont essentielles car elles permettent de vérifier que des documents tels que des contrats ou des factures sont authentiques et inchangés, protégeant ainsi votre entreprise contre d'éventuels risques juridiques.

Puis-je créer des champs de formulaire interactifs dans les PDF avec IronPdf ?

Oui, IronPDF permet de créer des champs de formulaire interactifs dans les PDF, ce qui peut améliorer l'interaction avec l'utilisateur et rationaliser les processus documentaires dans les applications ASP.NET Core.

Est-il possible d'ajouter des signatures visibles à mes documents PDF ?

Oui, avec IronPDF, vous pouvez ajouter des signatures visibles à vos documents PDF, ce qui indique clairement aux destinataires que le document est signé et vérifié en toute sécurité.

Quels types de certificats peuvent être utilisés pour les signatures numériques dans les PDF ?

Vous pouvez utiliser différents types de certificats pour les signatures numériques dans les PDF, y compris des certificats auto-signés et des certificats émis par une autorité de certification de confiance, en fonction du niveau de sécurité et de confiance requis.

Comment IronPDF s'assure-t-il qu'un document PDF n'a pas été modifié ?

IronPDF garantit qu'un document PDF n'a pas été falsifié en utilisant des signatures numériques qui valident l'intégrité et l'authenticité du document et alertent les destinataires si des modifications ont été apportées après la signature.

Puis-je automatiser le processus de signature numérique dans les applications ASP.NET Core ?

Oui, vous pouvez automatiser le processus de signature numérique dans les applications ASP.NET Core à l'aide d'IronPDF, qui permet le traitement par lots et l'intégration dans les flux de travail existants.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite