Interface PGPDataEncryptorBuilder
-
- All Known Implementing Classes:
BcPGPDataEncryptorBuilder
,JcePGPDataEncryptorBuilder
public interface PGPDataEncryptorBuilder
A builder forPGPDataEncryptor
instances, which can be used to encrypt data objects.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description PGPDataEncryptor
build(byte[] keyBytes)
Builds a data encryptor using the algorithm configured for this builder.int
getAeadAlgorithm()
int
getAlgorithm()
The encryption algorithm used by data encryptors created by this builder.int
getChunkSize()
java.security.SecureRandom
getSecureRandom()
Gets the SecureRandom instance used by this builder.boolean
isV5StyleAEAD()
PGPDataEncryptorBuilder
setUseV5AEAD()
Specify we are using V5 AEAD.PGPDataEncryptorBuilder
setUseV6AEAD()
Specify we are using V6 AEAD.PGPDataEncryptorBuilder
setWithAEAD(int aeadAlgorithm, int chunkSize)
Sets whether the resulting encrypted data will be protected using an AEAD mode.PGPDataEncryptorBuilder
setWithIntegrityPacket(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
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 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
-
-