org.apache.fop.pdf

## Class PDFEncryptionManager

- java.lang.Object
- - org.apache.fop.pdf.PDFEncryptionManager

-     public final class PDFEncryptionManager
      extends java.lang.Object

  This class acts as a factory for PDF encryption support. It enables the feature to be optional to FOP depending on the availability of JCE.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `checkAvailableAlgorithms()` Checks whether the necessary algorithms are available.
    `static boolean` | `isJCEAvailable()` Indicates whether JCE is available.
    `static PDFEncryption` | `newInstance(PDFEncryptionParams params, PDFDocument pdf)` Creates a new PDFEncryption instance if PDF encryption is available.
    `static void` | `setupPDFEncryption(PDFEncryptionParams params, PDFDocument pdf)` Sets up PDF encryption if PDF encryption is requested by registering a `PDFEncryptionParams` object with the user agent and if the necessary cryptographic support is available.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### isJCEAvailable

          public static boolean isJCEAvailable()

      Indicates whether JCE is available.
      Returns:
        boolean true if JCE is present

    - #### checkAvailableAlgorithms

          public static boolean checkAvailableAlgorithms()

      Checks whether the necessary algorithms are available.
      Returns:
        boolean True if all necessary algorithms are present

    - #### setupPDFEncryption

          public static void setupPDFEncryption(PDFEncryptionParams params,
                                                PDFDocument pdf)

      Sets up PDF encryption if PDF encryption is requested by registering a `PDFEncryptionParams` object with the user agent and if the necessary cryptographic support is available.
      Parameters:
        `params` - the PDF encryption params or null to disable encryption
        `pdf` - the PDF document to setup encryption for

    - #### newInstance

          public static PDFEncryption newInstance(PDFEncryptionParams params,
                                                  PDFDocument pdf)

      Creates a new PDFEncryption instance if PDF encryption is available.
      Parameters:
        `params` - PDF encryption parameters
        `pdf` - the PDF document to encrypt
      Returns:
        PDFEncryption the newly created instance, null if PDF encryption is unavailable.

Copyright 1999-2022 The Apache Software Foundation. All Rights Reserved.