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  => ''
);

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.

PL/PDF
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.