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)
});

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