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.intThe 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:
setWithIntegrityPacketin 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:PGPDataEncryptorBuilderThe encryption algorithm used by data encryptors created by this builder.- Specified by:
getAlgorithmin interfacePGPDataEncryptorBuilder- Returns:
- one of the
symmetric encryption algorithms.
-
getSecureRandom
Description copied from interface:PGPDataEncryptorBuilderGets 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.- Specified by:
getSecureRandomin interfacePGPDataEncryptorBuilder
-
build
Description copied from interface:PGPDataEncryptorBuilderBuilds a data encryptor using the algorithm configured for this builder.- Specified by:
buildin 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.
-