Class PdfEncryption

java.lang.Object
com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfEncryption

public class PdfEncryption extends Object
  • Field Details

    • STANDARD_ENCRYPTION_40

      public static final int STANDARD_ENCRYPTION_40
      See Also:
    • STANDARD_ENCRYPTION_128

      public static final int STANDARD_ENCRYPTION_128
      See Also:
    • AES_128

      public static final int AES_128
      See Also:
    • pad

      private static final byte[] pad
    • salt

      private static final byte[] salt
    • metadataPad

      private static final byte[] metadataPad
    • key

      byte[] key
      The encryption key for a particular object/generation
    • keySize

      int keySize
      The encryption key length for a particular object/generation
    • mkey

      byte[] mkey
      The global encryption key
    • extra

      byte[] extra
      Work area to prepare the object/generation bytes
    • md5

      The message digest algorithm MD5
    • ownerKey

      byte[] ownerKey
      The encryption key for the owner
    • userKey

      byte[] userKey
      The encryption key for the user
    • permissions

      int permissions
      The public key security handler for certificate encryption
    • documentID

      byte[] documentID
    • seq

      static long seq
    • revision

      private int revision
    • arcfour

      private ARCFOUREncryption arcfour
    • keyLength

      private int keyLength
      The generic key length. It may be 40 or 128.
    • encryptMetadata

      private boolean encryptMetadata
    • embeddedFilesOnly

      private boolean embeddedFilesOnly
    • cryptoMode

      private int cryptoMode
    • state

      byte[] state
    • x

      int x
    • y

      int y
  • Constructor Details

    • PdfEncryption

      public PdfEncryption()
    • PdfEncryption

      public PdfEncryption(PdfEncryption enc)
  • Method Details

    • setCryptoMode

      public void setCryptoMode(int mode, int kl)
    • getCryptoMode

      public int getCryptoMode()
    • isMetadataEncrypted

      public boolean isMetadataEncrypted()
    • isEmbeddedFilesOnly

      public boolean isEmbeddedFilesOnly()
      Indicates if only the embedded files have to be encrypted.
      Returns:
      if true only the embedded files will be encrypted
      Since:
      2.1.3
    • padPassword

      private byte[] padPassword(byte[] userPassword)
    • computeOwnerKey

      private byte[] computeOwnerKey(byte[] userPad, byte[] ownerPad)
    • setupGlobalEncryptionKey

      private void setupGlobalEncryptionKey(byte[] documentID, byte[] userPad, byte[] ownerKey, int permissions)
      ownerKey, documentID must be setup
    • setupUserKey

      private void setupUserKey()
      mkey must be setup
    • setupAllKeys

      public void setupAllKeys(byte[] userPassword, byte[] ownerPassword, int permissions)
    • createDocumentId

      public static byte[] createDocumentId()
    • setupByUserPassword

      public void setupByUserPassword(byte[] documentID, byte[] userPassword, byte[] ownerKey, int permissions)
    • setupByUserPad

      private void setupByUserPad(byte[] documentID, byte[] userPad, byte[] ownerKey, int permissions)
    • setupByOwnerPassword

      public void setupByOwnerPassword(byte[] documentID, byte[] ownerPassword, byte[] userKey, byte[] ownerKey, int permissions)
    • setupByOwnerPad

      private void setupByOwnerPad(byte[] documentID, byte[] ownerPad, byte[] userKey, byte[] ownerKey, int permissions)
    • setupByEncryptionKey

      public void setupByEncryptionKey(byte[] key, int keylength)
    • setHashKey

      public void setHashKey(int number, int generation)
    • createInfoId

      public static PdfObject createInfoId(byte[] id)
    • getEncryptionDictionary

      public PdfDictionary getEncryptionDictionary()
    • getFileID

      public PdfObject getFileID()
    • getEncryptionStream

      public OutputStreamEncryption getEncryptionStream(OutputStream os)
    • calculateStreamSize

      public int calculateStreamSize(int n)
    • encryptByteArray

      public byte[] encryptByteArray(byte[] b)
    • getDecryptor

      public StandardDecryption getDecryptor()
    • decryptByteArray

      public byte[] decryptByteArray(byte[] b)
    • computeUserPassword

      public byte[] computeUserPassword(byte[] ownerPassword)
    • prepareKey

      public void prepareKey()
    • prepareRC4Key

      public void prepareRC4Key(byte[] kk)
    • prepareRC4Key

      public void prepareRC4Key(byte[] kk, int off, int len)
    • encryptRC4

      public void encryptRC4(byte[] dataIn, int off, int len, byte[] dataOut)
    • encryptRC4

      public void encryptRC4(byte[] data, int off, int len)
    • encryptRC4

      public void encryptRC4(byte[] dataIn, byte[] dataOut)
    • encryptRC4

      public void encryptRC4(byte[] data)