Digital Signatures

Digital PDF Signatures for Oracle PL/SQL

Create standards-based PAdES digital signatures directly inside Oracle with PL/PDF 5.31—without a Java stored procedure or Bouncy Castle dependency.

PAdES-B-B · PAdES-B-T · SHA-256 with RSA · RFC 3161 timestamping

Sign PDFs where your documents are created

PL/PDF keeps document generation and digital signing close to your Oracle data and business logic. Generate the PDF, apply the signature and return the final signed document as a BLOB within the same Oracle workflow.

Native Oracle signing

The PLPDF_DIGSIG package creates the detached CMS signature entirely in native Oracle PL/SQL using Oracle cryptographic APIs.

PAdES Baseline support

Select PAdES Baseline B for standards-based PDF signatures or PAdES Baseline T when an RFC 3161 signature timestamp is required.

Oracle-controlled workflow

Use PL/SQL packages, Oracle APEX applications and scheduled database processes without adding a separate PDF signing application to the document-generation path.

PAdES Baseline B and Baseline T

PAdES-B-B

Create the baseline PAdES signature directly in Oracle using a detached CMS signature, SHA-256 document digest and RSA signature.

  • No external timestamp authority required
  • Signer certificate embedded in the CMS signature
  • SHA-256 with RSA
  • Suitable for standards-based PDF signing workflows

PAdES-B-T

Extend the PAdES-B-B signature with an RFC 3161 signature timestamp token that provides independent evidence that the signature existed at the time asserted by the timestamp authority.

  • RFC 3161 signature timestamp
  • Native TSA client or PL/SQL timestamp procedure
  • HTTPS TSA access through Oracle network configuration
  • Oracle wallet support for HTTPS trust

How PL/PDF signing works

  1. Generate the PDF. PL/PDF creates the document and reserves the PDF signature contents area.
  2. Create the PDF ByteRange. PL/PDF identifies the exact document bytes covered by the signature.
  3. Build the signature in PL/SQL. PLPDF_DIGSIG calculates the SHA-256 digest and builds the CMS signed attributes required by the selected profile.
  4. Sign with the RSA private key. Oracle DBMS_CRYPTO performs the RSA/SHA-256 cryptographic signing operation.
  5. Optionally obtain an RFC 3161 timestamp. PAdES-B-T can call a TSA directly or delegate timestamp acquisition to an installed PL/SQL procedure.
  6. Return the signed PDF. PL/PDF writes the CMS signature into the reserved PDF area and returns the final signed document as a BLOB.

The private key is not written into the PDF. The PDF signature contains the signer certificate, signed attributes and the cryptographic signature value.

A PAdES-B-B signature in PL/SQL

The signing profile, signer certificate and private key are configured before PL/PDF finalizes the document. A minimal PAdES-B-B configuration follows the same PL/SQL workflow as normal PL/PDF document generation.

plpdf_digsig.setProfile(
  plpdf_digsig.c_profile_pades_bb
);

plpdf_digsig.setDERStore(l_der);
plpdf_digsig.setPEMStore(l_pem);

plpdf.setDigSig(
  p_access_perms => 2,
  p_Name         => 'PLPDF',
  p_Location     => 'Budapest',
  p_Reason       => 'Document approval',
  p_ContactInfo  => 'info@plpdf.com'
);

plpdf.SendDoc(l_blob);

For PAdES-B-T, select the PAdES-B-T profile and configure either the native RFC 3161 timestamp server or a registered timestamp procedure before PLPDF.SendDoc.

Visible when you want it. Hidden when you do not.

A digital signature does not have to consume space in the document layout. PL/PDF supports both explicit signature fields and automatically created hidden signature fields.

Visible signature field

Use an AcroForm signature field when the document design requires a visible signing area or when the signature field is part of the document workflow.

Automatic hidden field

Omit the field ID and PL/PDF creates an internal zero-size signature field automatically, allowing standard PDF viewers to discover the document signature without changing the visible layout.

Built for controlled Oracle environments

Oracle 21c+

The native PLPDF_DIGSIG implementation in PL/PDF 5.31 is designed for Oracle Database 21c or later.

RSA and X.509

Use an RSA private key and matching X.509 signer certificate. PL/PDF 5.31 signs with SHA-256 and RSA PKCS#1 v1.5.

TSA integration

For PAdES-B-T, connect to an RFC 3161 timestamp authority using the native TSA client or an installed PL/SQL timestamp procedure. HTTPS deployments use Oracle network ACL and wallet configuration.

Current scope: PL/PDF 5.31 provides PAdES-B-B and PAdES-B-T. PAdES-B-LT and PAdES-B-LTA long-term validation data are not part of the current native-signature baseline.

Validation and certificate trust

PL/PDF PAdES-B-B output has been validated with Adobe Acrobat Reader, Foxit Reader, the ETSI Signature Conformance Checker and the European Commission Digital Signature Service (DSS). DSS identifies the generated PAdES-B-B signature as PAdES-BASELINE-B.

Signature format and certificate trust are separate concerns. A self-signed certificate can be cryptographically valid while still appearing untrusted to a PDF viewer. Production deployments should use a signing certificate and trust configuration appropriate to the organization’s requirements.

PAdES is a technical signature format. Whether a particular signature satisfies advanced, qualified or other legal-signature requirements depends on the certificate, signing environment, trust service and applicable regulatory requirements.

Typical digital-signature workflows

Invoices and statements

Generate and sign customer-facing financial documents as part of the same database process that creates them.

Contracts and approvals

Add a verifiable document signature to contracts, approvals, confirmations and other controlled business documents.

Regulated document output

Integrate PDF signing and optional trusted timestamping into controlled Oracle document-generation and archiving processes.

Part of the PL/PDF document platform

Digital signatures are available as part of PL/PDF’s broader Oracle document-generation capabilities. Combine signing with accessible PDF output, document encryption, PDF/A, Office generation and template-driven reporting.

Tagged PDF

Create structured PDF documents for accessibility-oriented workflows and PDF/UA output.

Explore Tagged PDF →

AES-256 Encryption

Protect sensitive PDFs with AES-256 encryption, passwords and configurable document permissions.

Explore AES-256 Encryption →

PL/PDF OffX

Combine the complete PL/PDF SDK with Microsoft Word template-based document generation.

Explore OffX →

Evaluate digital signing with PL/PDF

Download PL/PDF and test native Oracle PDF generation and PAdES digital-signature workflows in your own database environment.