Interface PGPDataEncryptorBuilder
-
- All Known Implementing Classes:
BcPGPDataEncryptorBuilder,JcePGPDataEncryptorBuilder
public interface PGPDataEncryptorBuilderA builder forPGPDataEncryptorinstances, which can be used to encrypt data objects.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description PGPDataEncryptorbuild(byte[] keyBytes)Builds a data encryptor using the algorithm configured for this builder.intgetAeadAlgorithm()intgetAlgorithm()The encryption algorithm used by data encryptors created by this builder.intgetChunkSize()java.security.SecureRandomgetSecureRandom()Gets the SecureRandom instance used by this builder.booleanisV5StyleAEAD()PGPDataEncryptorBuildersetUseV5AEAD()Specify we are using V5 AEAD.PGPDataEncryptorBuildersetUseV6AEAD()Specify we are using V6 AEAD.PGPDataEncryptorBuildersetWithAEAD(int aeadAlgorithm, int chunkSize)Sets whether the resulting encrypted data will be protected using an AEAD mode.PGPDataEncryptorBuildersetWithIntegrityPacket(boolean withIntegrityPacket)Sets whether or not the resulting encrypted data will be protected using an integrity packet.
-
-
-
Method Detail
-
getAlgorithm
int getAlgorithm()
The encryption algorithm used by data encryptors created by this builder.- Returns:
- one of the
symmetric encryption algorithms.
-
getAeadAlgorithm
int getAeadAlgorithm()
-
getChunkSize
int getChunkSize()
-
isV5StyleAEAD
boolean isV5StyleAEAD()
-
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
java.security.SecureRandom getSecureRandom()
Gets the SecureRandom instance used by this builder.If a SecureRandom has not been explicitly configured, a default
SecureRandomis 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 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.- Returns:
- the current builder
-
setUseV5AEAD
PGPDataEncryptorBuilder setUseV5AEAD()
Specify we are using V5 AEAD.- Returns:
- the current builder
-
setUseV6AEAD
PGPDataEncryptorBuilder setUseV6AEAD()
Specify we are using V6 AEAD.- Returns:
- the current builder
-
-