Skip to content

Feature Request: Support for /Prop_Build in PDF Signature Dictionary (PAdES) #76

Description

@nobrother

Feature Request: Support for /Prop_Build in PDF Signature Dictionary (PAdES)

Summary

Currently, @libpdf/core does not expose any way to set the PDF signature build properties (/Prop_Build) inside the /Sig dictionary.

As a result, PDF viewers such as Adobe Acrobat display:

“Signature was created using: Not available”

even when:

  • AATL trusted certificates are used
  • TSA timestamps are included
  • PAdES signatures are valid (ETSI.CAdES.detached)

Problem

In the current implementation of PDFSignature.sign():

  • Signature dictionary supports:
    • Reason
    • Location
    • ContactInfo
    • SubFilter
    • ByteRange
    • Contents

However, it does not include /Prop_Build, which is used by Adobe Acrobat and other PDF viewers to display the signing application identity.

Possible fix:

const signatureDict = PdfDict.of({
  Type: PdfName.of("Sig"),
  Filter: PdfName.of("Adobe.PPKLite"),
  SubFilter: PdfName.of(resolved.subFilter),

  Prop_Build: PdfDict.of({
    App: PdfDict.of({
      Name: PdfString.fromString("Documenso"),
      R: PdfString.fromString("1.0")
    })
  }),

  ByteRange: createByteRangePlaceholderObject(),
  Contents: createContentsPlaceholderObject(resolved.estimatedSize)
});

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions