PDF Certification in C++
Contents
[
Hide
]
Use PdfFileSignature for this task. The examples below retain the original C++ code and API Reference steps.
Certify PDF with mdp signature
Create a PKCS7 signature and certify page 1 with FillingInForms modification permissions and a visible signature.
- Load the certificate and configure a PKCS7 signature object.
- Set the certification permissions with DocMDPSignature.
- Create PdfFileSignature.
- Bind the PDF input with Facade::BindPdf().
- Apply the certification signature with PdfFileSignature::Certify().
- Save the resulting PDF with PdfFileSignature::
Save().
#include <Aspose.PDF.Cpp/Facades/PdfFileSignature.h>
#include <Aspose.PDF.Cpp/InteractiveFeatures/Forms/DocMDPAccessPermissions.h>
#include <Aspose.PDF.Cpp/InteractiveFeatures/Forms/DocMDPSignature.h>
#include <Aspose.PDF.Cpp/InteractiveFeatures/Forms/PKCS7.h>
#include <drawing/rectangle.h>
#include <system/string.h>
namespace Facades::Examples::PDF_FileSignature
{
using namespace System;
using namespace Aspose::Pdf;
using namespace Aspose::Pdf::Facades;
using PKCS7 = Aspose::Pdf::Forms::PKCS7;
using DocMDPSignature = Aspose::Pdf::Forms::DocMDPSignature;
using DocMDPAccessPermissions = Aspose::Pdf::Forms::DocMDPAccessPermissions;
void CertifyPdfWithMdpSignature(String inputFile, String certificateFile, String outputFile)
{
auto certificateSignature = MakeObject<PKCS7>(certificateFile, u"Aspose2021");
certificateSignature->set_Reason(u"Certified for form filling and signing");
certificateSignature->set_ContactInfo(u"qa@example.com");
certificateSignature->set_Location(u"New York, USA");
certificateSignature->set_Authority(u"Aspose.PDF Example");
auto pdfSignature = MakeObject<PdfFileSignature>();
pdfSignature->BindPdf(inputFile);
auto signature = MakeObject<DocMDPSignature>(certificateSignature, DocMDPAccessPermissions::FillingInForms);
pdfSignature->Certify(1, u"Certified for form filling and signing", u"security@example.com", u"New York, USA", true,
System::Drawing::Rectangle(10, 10, 200, 60), signature);
pdfSignature->Save(outputFile);
}
} // namespace Facades::Examples::PDF_FileSignature