AES-256 Encryption

AES-256 PDF Encryption for Oracle PL/SQL

Protect sensitive PDF documents directly inside Oracle with PL/PDF 5.31 using AES-256 encryption, password-based access control and configurable document permissions.

AES-256 · PDF Revision 6 · User and Owner Passwords · Configurable Permissions

Protect PDFs before they leave the database

PL/PDF can apply encryption while the PDF is being generated. The final protected document is returned as an Oracle BLOB, ready for storage, download, delivery or further processing.

AES-256 document encryption

PL/PDF 5.31 supports 256-bit AES encryption using the modern PDF Standard Security Handler and AESV3 crypt filters.

Password-based access

Configure a user password for opening the PDF and an owner password for the document’s permission and administration model.

Configurable permissions

Control the PDF permission flags for printing, modification, copying and annotation or form operations from the same PL/SQL call.

Modern PDF security with AES-256

The AES-256 implementation in PL/PDF 5.31 uses the PDF Standard Security Handler with Revision 6 password processing and AESV3 encryption.

256-bit encryption key

Document data is protected with a randomly generated 256-bit file-encryption key rather than deriving the content-encryption key directly from the password.

Revision 6 password processing

User and owner credentials are processed using the Revision 6 security model, including modern password hashing and separate encrypted file-key entries.

Encrypted metadata

The AES-256 output generated by PL/PDF 5.31 encrypts document metadata together with the protected PDF content.

How PDF encryption works in PL/PDF

  1. Initialize the document. Start the normal PL/PDF generation workflow.
  2. Select AES-256. Choose the AES-256 algorithm through the PL/PDF security package.
  3. Set passwords and permissions. Configure user and owner passwords together with the required PDF permission flags.
  4. Generate the document. Create text, images, tables, forms and other PDF content through the normal PL/PDF APIs.
  5. Encrypt the final PDF objects. PL/PDF applies the AES-256 security configuration while writing the document’s protected content.
  6. Return the encrypted PDF. The final protected file is returned as an Oracle BLOB for delivery, storage or further processing.

AES-256 encryption in PL/SQL

Select AES-256 before configuring document protection. The existing PLPDF.setProtection API then controls the passwords and PDF permission flags.

declare
  l_pdf blob;
begin
  plpdf.init;

  plpdf_security.select_algorithm(
    plpdf_security.c_algorithm_aes_256
  );

  plpdf.setProtection(
    p_print_perm       => true,
    p_modify_perm      => false,
    p_copy_perm        => false,
    p_annot_forms_perm => false,
    p_user_pass        => 'customer-password',
    p_owner_pass       => 'document-owner-password'
  );

  plpdf.NewPage;
  plpdf.Text(
    20,
    30,
    'Protected customer statement'
  );

  plpdf.SendDoc(l_pdf);
end;
/

In this example the PDF can be opened with the user password, printing is permitted, and the modification, copying and annotation/form permission flags are disabled.

Separate confidentiality from document permissions

AES-256 encryption and PDF permission flags solve related but different problems.

Encryption protects content

Without the required password, the encrypted PDF content cannot be normally decrypted and opened by a compliant PDF reader.

Permissions describe allowed operations

The PDF permission flags communicate whether operations such as printing, modification and copying are allowed for the user-password context.

PDF permissions are enforced by the PDF viewer or consuming application. They should not be treated as a substitute for access control, encryption or application-level data security.

Control the document permissions from PL/SQL

Printing

Allow or disable the PDF printing permission through p_print_perm.

Modification

Control the PDF modification permission through p_modify_perm.

Copying

Control the content-copying permission through p_copy_perm.

Annotations and forms

Control annotation and form-related permission flags through p_annot_forms_perm.

Designed for modern password handling

AES-256 Revision 6 uses a substantially different password model from legacy PDF encryption. PL/PDF 5.31 implements the corresponding user and owner credential structures and password processing.

Unicode password support

Revision 6 password processing in PL/PDF handles Unicode input using the normalisation rules required by the modern PDF security model.

Separate user and owner credentials

The generated encryption dictionary contains the standard Revision 6 user, owner and encrypted-key entries required to distinguish document access from owner control.

Native security inside the Oracle document workflow

No external PDF encryption service

Encryption is integrated with PL/PDF’s Oracle-resident PDF writer, so the document does not need to be sent to a separate application just to apply password protection.

Works with existing PL/PDF output

Use AES-256 with normal PL/PDF documents containing text, images and multiple page streams, including large and high-volume generated files.

Fits Oracle applications

Generate protected documents from stored PL/SQL, Oracle APEX applications, scheduled database jobs and other database-resident workflows.

Typical AES-256 PDF workflows

Financial documents

Protect statements, reports and other financial documents before they are stored or delivered outside the Oracle application.

Customer documents

Apply recipient-specific passwords to customer correspondence, confidential reports and personalised generated PDFs.

Controlled internal distribution

Generate encrypted operational, HR or internal business documents within Oracle before handing the files to downstream delivery systems.

Use the right security layer for the job

AES-256 PDF encryption is useful when the PDF file itself must remain protected outside the database. It complements—rather than replaces—Oracle database security, application authorization, secure transport and organisational access controls.

  • Use database and application authorization to control who can generate or obtain the document.
  • Use TLS or another secure delivery channel when transmitting sensitive files.
  • Use AES-256 PDF encryption when the exported PDF also requires file-level confidentiality.
  • Use digital signatures when recipients need to verify document integrity or signer identity.

Part of the PL/PDF document platform

Combine AES-256 encryption with PAdES digital signatures, tagged PDF, PDF/A, Office output and template-driven reporting directly inside Oracle.

Digital Signatures

Create standards-based PAdES-B-B and PAdES-B-T PDF signatures directly in Oracle PL/SQL.

Explore Digital Signatures →

Tagged PDF

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

Explore Tagged PDF →

PL/PDF OffX

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

Explore OffX →

Evaluate AES-256 PDF encryption with PL/PDF

Download PL/PDF and test AES-256 protected PDF generation directly in your Oracle database environment.