public class JcePGPDataEncryptorBuilder extends java.lang.Object implements PGPDataEncryptorBuilder
PGPDataEncryptorBuilder implementation that sources cryptographic primitives using the
JCE APIs.
By default, cryptographic primitives will be loaded using the default JCE load order (i.e.
without specifying a provider).
A specific provider can be specified using one of the setProvider(String) methods.
| Constructor and Description |
|---|
JcePGPDataEncryptorBuilder(int encAlgorithm)
Constructs a new data encryptor builder for a specified cipher type.
|
| Modifier and Type | Method and 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() |
JcePGPDataEncryptorBuilder |
setProvider(java.security.Provider provider)
Sets the JCE provider to source cryptographic primitives from.
|
JcePGPDataEncryptorBuilder |
setProvider(java.lang.String providerName)
Sets the JCE provider to source cryptographic primitives from.
|
JcePGPDataEncryptorBuilder |
setSecureRandom(java.security.SecureRandom random)
Provide a user defined source of randomness.
|
JcePGPDataEncryptorBuilder |
setUseV5AEAD()
Specify we are using V5 AEAD.
|
JcePGPDataEncryptorBuilder |
setUseV6AEAD()
Specify we are using V6 AEAD.
|
JcePGPDataEncryptorBuilder |
setWithAEAD(int aeadAlgorithm,
int chunkSize)
Sets whether the resulting encrypted data will be protected using an AEAD mode.
|
JcePGPDataEncryptorBuilder |
setWithIntegrityPacket(boolean withIntegrityPacket)
Sets whether or not the resulting encrypted data will be protected using an integrity packet.
|
public JcePGPDataEncryptorBuilder(int encAlgorithm)
encAlgorithm - one of the supported symmetric cipher
algorithms. May not be SymmetricKeyAlgorithmTags.NULL.public JcePGPDataEncryptorBuilder setWithIntegrityPacket(boolean withIntegrityPacket)
setWithIntegrityPacket in interface PGPDataEncryptorBuilderwithIntegrityPacket - true if an integrity packet is to be included, false otherwise.public JcePGPDataEncryptorBuilder setWithAEAD(int aeadAlgorithm, int chunkSize)
PGPDataEncryptorBuildersetWithAEAD in interface PGPDataEncryptorBuilderaeadAlgorithm - the AEAD mode to use.chunkSize - the size of the chunks to be processed with each nonce.public JcePGPDataEncryptorBuilder setUseV5AEAD()
PGPDataEncryptorBuildersetUseV5AEAD in interface PGPDataEncryptorBuilderpublic JcePGPDataEncryptorBuilder setUseV6AEAD()
PGPDataEncryptorBuildersetUseV6AEAD in interface PGPDataEncryptorBuilderpublic JcePGPDataEncryptorBuilder setProvider(java.security.Provider provider)
provider - the JCE provider to use.public JcePGPDataEncryptorBuilder setProvider(java.lang.String providerName)
providerName - the name of the JCE provider to use.public JcePGPDataEncryptorBuilder setSecureRandom(java.security.SecureRandom random)
If no SecureRandom is configured, a default SecureRandom will be used.
random - the secure random to be used.public int getAlgorithm()
PGPDataEncryptorBuildergetAlgorithm in interface PGPDataEncryptorBuildersymmetric encryption algorithms.public int getAeadAlgorithm()
getAeadAlgorithm in interface PGPDataEncryptorBuilderpublic int getChunkSize()
getChunkSize in interface PGPDataEncryptorBuilderpublic boolean isV5StyleAEAD()
isV5StyleAEAD in interface PGPDataEncryptorBuilderpublic java.security.SecureRandom getSecureRandom()
PGPDataEncryptorBuilder
If a SecureRandom has not been explicitly configured, a default SecureRandom is
constructed and retained by the this builder.
getSecureRandom in interface PGPDataEncryptorBuilderpublic PGPDataEncryptor build(byte[] keyBytes) throws PGPException
PGPDataEncryptorBuilderbuild in interface PGPDataEncryptorBuilderkeyBytes - the bytes of the key to use for the cipher.PGPException - if an error occurs initialising the configured encryption.