Comment signer numériquement un PDF

Signer un PDF avec des signatures numériques

Vous pouvez signer le document PDF pour confirmer son contenu, ou vous pouvez approuver le document avec Aspose.PDF.

Aspose.PDF pour C++ prend en charge la fonctionnalité de signer numériquement les fichiers PDF en utilisant la classe SignatureField. Vous pouvez également certifier un fichier PDF avec un certificat PKCS12. Quelque chose de similaire à Ajouter des signatures et de la sécurité dans Adobe Acrobat.

Utilisez la classe PdfFileSignature pour signer votre PDF.

using namespace System;
using namespace Aspose::Pdf;
using namespace Aspose::Pdf::Facades;

void SecuringAndSigning::SignDocument() {

// Chaîne pour le nom du chemin.

String _dataDir("C:\\Samples\\");


String inFile = _dataDir + u"DigitallySign.pdf";

String outFile = _dataDir + u"DigitallySign_out.pdf";


auto document = MakeObject<Document>(inFile);


auto signature = MakeObject<PdfFileSignature>(document);


auto pkcs = MakeObject<Aspose::Pdf::Forms::PKCS7>(_dataDir + u"test.pfx", u"Pa$$w0rd2020"); // Utilisez PKCS7/PKCS7Detached
























// objets

System::Drawing::Rectangle rect(300, 100, 400, 200);

signature->Sign(1, true, rect, pkcs);

// Enregistrez le fichier PDF de sortie

signature->Save(outFile);
}

Ajouter un horodatage à la signature numérique

Comment signer numériquement un PDF avec horodatage

Aspose.PDF pour C++ prend en charge la signature numérique du PDF avec un serveur d’horodatage ou un service Web.

Les horodatages sont utilisés pour indiquer la date et l’heure à laquelle vous avez signé le document. L’horodatage fiable prouve que le contenu de vos PDFs existait à un moment spécifique et n’a pas changé depuis lors.

Utilisez la classe TimestampSettings pour ajouter un horodatage de confiance aux signatures numériques ou aux documents.

Veuillez consulter l’extrait de code suivant qui obtient un horodatage et l’ajoute au document PDF :

void SecuringAndSigning::SignWithTimeStampServer() {


// Chaîne pour le nom de chemin.

String _dataDir("C:\\Samples\\");

auto document = MakeObject<Document>(_dataDir + u"SimpleResume.pdf");

auto signature = MakeObject<PdfFileSignature>(document);


auto pkcs = MakeObject<Aspose::Pdf::Forms::PKCS7>(_dataDir + u"test.pfx", u"Pa$$w0rd2020");


auto timestampSettings = MakeObject<TimestampSettings>(u"https://freetsa.org/tsr", String::Empty); // Utilisateur/Mot de passe peuvent
























// être omis

pkcs->set_TimestampSettings(timestampSettings);


System::Drawing::Rectangle rect(100, 100, 200, 100);

// Créez l'un des trois types de signature

signature->Sign(1, u"Raison de la signature", u"Contact", u"Emplacement", true, rect, pkcs);

// Enregistrez le fichier PDF de sortie

signature->Save(_dataDir + u"DigitallySignWithTimeStamp_out.pdf");
}