Class BcPGPDataEncryptorBuilder
- java.lang.Object
-
- org.bouncycastle.openpgp.operator.bc.BcPGPDataEncryptorBuilder
-
- All Implemented Interfaces:
PGPDataEncryptorBuilder
public class BcPGPDataEncryptorBuilder extends java.lang.Object implements PGPDataEncryptorBuilder
PGPDataEncryptorBuilderimplementation that uses the Bouncy Castle lightweight API to implement cryptographic primitives.
-
-
Constructor Summary
Constructors Constructor Description BcPGPDataEncryptorBuilder(int encAlgorithm)Constructs a new data encryptor builder for a specified cipher type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PGPDataEncryptorbuild(byte[] keyBytes)Builds a data encryptor using the algorithm configured for this builder.intgetAlgorithm()The encryption algorithm used by data encryptors created by this builder.java.security.SecureRandomgetSecureRandom()Gets the SecureRandom instance used by this builder.BcPGPDataEncryptorBuildersetSecureRandom(java.security.SecureRandom random)Provide a user defined source of randomness.BcPGPDataEncryptorBuildersetWithIntegrityPacket(boolean withIntegrityPacket)Sets whether or not the resulting encrypted data will be protected using an integrity packet.
-
-
-
Constructor Detail
-
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 Detail
-
setWithIntegrityPacket
public BcPGPDataEncryptorBuilder 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.
-
setSecureRandom
public BcPGPDataEncryptorBuilder setSecureRandom(java.security.SecureRandom random)
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
public java.security.SecureRandom 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
public PGPDataEncryptor build(byte[] keyBytes) throws PGPException
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.
-
-