Signature Extraction in C++

Use PdfFileSignature for this task. The examples below retain the original C++ code and API Reference steps.

Extract signature certificate

Extract the certificate for the first signature and copy it to outputFile.

  1. Create PdfFileSignature.
  2. Bind the PDF input with Facade::BindPdf().
  3. Read signature identifiers with PdfFileSignature::GetSignatureNames().
  4. Extract the certificate stream with PdfFileSignature::ExtractCertificate().
#include <Aspose.PDF.Cpp/Facades/PdfFileSignature.h>
#include <Aspose.PDF.Cpp/Facades/SignatureName.h>
#include <system/collections/ilist.h>
#include <system/io/file.h>
#include <system/io/file_stream.h>
#include <system/string.h>

namespace Facades::Examples::PDF_FileSignature
{
using namespace System;
using namespace Aspose::Pdf;
using namespace Aspose::Pdf::Facades;

void ExtractSignatureCertificate(String inputFile, String outputFile)
{
    auto pdfSignature = MakeObject<PdfFileSignature>();
    pdfSignature->BindPdf(inputFile);
    auto signatureName = pdfSignature->GetSignatureNames()->idx_get(0);
    auto inputStream = pdfSignature->ExtractCertificate(signatureName);
    auto outputStream = System::IO::File::Create(outputFile);

    inputStream->CopyTo(outputStream);
}
} // namespace Facades::Examples::PDF_FileSignature