Class PublicKeyDecryptionMaterial

java.lang.Object
org.apache.pdfbox.pdmodel.encryption.DecryptionMaterial
org.apache.pdfbox.pdmodel.encryption.PublicKeyDecryptionMaterial

public class PublicKeyDecryptionMaterial extends DecryptionMaterial
This class holds necessary information to decrypt a PDF document protected by the public key security handler. To decrypt such a document, we need:
  • a valid X509 certificate which correspond to one of the recipient of the document
  • the private key corresponding to this certificate
  • the password to decrypt the private key if necessary
  • Field Details

    • password

      private String password
    • keyStore

      private KeyStore keyStore
    • alias

      private String alias
  • Constructor Details

    • PublicKeyDecryptionMaterial

      public PublicKeyDecryptionMaterial(KeyStore keystore, String a, String pwd)
      Create a new public key decryption material.
      Parameters:
      keystore - The keystore were the private key and the certificate are
      a - The alias of the private key and the certificate. If the keystore contains only 1 entry, this parameter can be left null.
      pwd - The password to extract the private key from the keystore.
  • Method Details

    • getCertificate

      public X509Certificate getCertificate() throws KeyStoreException
      Returns the certificate contained in the keystore.
      Returns:
      The certificate that will be used to try to open the document.
      Throws:
      KeyStoreException - If there is an error accessing the certificate.
    • getPassword

      public String getPassword()
      Returns the password given by the user and that will be used to open the private key.
      Returns:
      The password.
    • getPrivateKey

      public Key getPrivateKey() throws KeyStoreException
      returns The private key that will be used to open the document protection.
      Returns:
      The private key.
      Throws:
      KeyStoreException - If there is an error accessing the key.