Interface PGPDataEncryptorBuilder

All Known Implementing Classes:
BcPGPDataEncryptorBuilder, JcePGPDataEncryptorBuilder

public interface PGPDataEncryptorBuilder
A builder for PGPDataEncryptor instances, which can be used to encrypt data objects.
  • Method Summary

    Modifier and Type
    Method
    Description
    build(byte[] keyBytes)
    Builds a data encryptor using the algorithm configured for this builder.
    int
    The encryption algorithm used by data encryptors created by this builder.
    Gets the SecureRandom instance used by this builder.
    setWithAEAD(int aeadAlgorithm, int chunkSize)
    Sets whether or not the resulting encrypted data will be protected using an AEAD mode.
    setWithIntegrityPacket(boolean withIntegrityPacket)
    Sets whether or not the resulting encrypted data will be protected using an integrity packet.
  • Method Details

    • getAlgorithm

      int getAlgorithm()
      The encryption algorithm used by data encryptors created by this builder.
      Returns:
      one of the symmetric encryption algorithms.
    • build

      PGPDataEncryptor build(byte[] keyBytes) throws PGPException
      Builds a data encryptor using the algorithm configured for this builder.
      Parameters:
      keyBytes - the bytes of the key to use for the cipher.
      Returns:
      a data encryptor with an initialised cipher.
      Throws:
      PGPException - if an error occurs initialising the configured encryption.
    • getSecureRandom

      SecureRandom getSecureRandom()
      Gets the SecureRandom instance used by this builder.

      If a SecureRandom has not been explicitly configured, a default SecureRandom is constructed and retained by the this builder.

    • setWithIntegrityPacket

      PGPDataEncryptorBuilder setWithIntegrityPacket(boolean withIntegrityPacket)
      Sets whether or not the resulting encrypted data will be protected using an integrity packet.
      Parameters:
      withIntegrityPacket - true if an integrity packet is to be included, false otherwise.
      Returns:
      the current builder.
    • setWithAEAD

      PGPDataEncryptorBuilder setWithAEAD(int aeadAlgorithm, int chunkSize)
      Sets whether or not the resulting encrypted data will be protected using an AEAD mode. The chunkSize is used as a power of two, result in blocks (1 << chunkSize) containing data with an extra 16 bytes for the tag. The minimum chunkSize is 6.
      Parameters:
      aeadAlgorithm - the AEAD mode to use.
      chunkSize - the size of the chunks to be processed with each nonce.