Class BcPGPDataEncryptorBuilder
java.lang.Object
org.bouncycastle.openpgp.operator.bc.BcPGPDataEncryptorBuilder
- All Implemented Interfaces:
PGPDataEncryptorBuilder
PGPDataEncryptorBuilder
implementation that uses the Bouncy Castle lightweight API to
implement cryptographic primitives.-
Constructor Summary
ConstructorsConstructorDescriptionBcPGPDataEncryptorBuilder
(int encAlgorithm) Constructs a new data encryptor builder for a specified cipher type. -
Method Summary
Modifier and TypeMethodDescriptionbuild
(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.setSecureRandom
(SecureRandom random) Provide a user defined source of randomness.setWithIntegrityPacket
(boolean withIntegrityPacket) Sets whether or not the resulting encrypted data will be protected using an integrity packet.
-
Constructor Details
-
BcPGPDataEncryptorBuilder
public BcPGPDataEncryptorBuilder(int encAlgorithm) Constructs a new data encryptor builder for a specified cipher type.- Parameters:
encAlgorithm
- one of thesupported symmetric cipher algorithms
. May not beSymmetricKeyAlgorithmTags.NULL
.
-
-
Method Details
-
setWithIntegrityPacket
Sets whether or not the resulting encrypted data will be protected using an integrity packet.- Specified by:
setWithIntegrityPacket
in interfacePGPDataEncryptorBuilder
- Parameters:
withIntegrityPacket
- true if an integrity packet is to be included, false otherwise.- Returns:
- the current builder.
-
setSecureRandom
Provide a user defined source of randomness.If no SecureRandom is configured, a default SecureRandom will be used.
- Parameters:
random
- the secure random to be used.- Returns:
- the current builder.
-
getAlgorithm
public int getAlgorithm()Description copied from interface:PGPDataEncryptorBuilder
The encryption algorithm used by data encryptors created by this builder.- Specified by:
getAlgorithm
in interfacePGPDataEncryptorBuilder
- Returns:
- one of the
symmetric encryption algorithms
.
-
getSecureRandom
Description copied from interface:PGPDataEncryptorBuilder
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.- Specified by:
getSecureRandom
in interfacePGPDataEncryptorBuilder
-
build
Description copied from interface:PGPDataEncryptorBuilder
Builds a data encryptor using the algorithm configured for this builder.- Specified by:
build
in interfacePGPDataEncryptorBuilder
- 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.
-