Class BcPBEDataDecryptorFactory
- java.lang.Object
-
- org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory
-
- org.bouncycastle.openpgp.operator.bc.BcPBEDataDecryptorFactory
-
- All Implemented Interfaces:
PGPDataDecryptorFactory
public class BcPBEDataDecryptorFactory extends PBEDataDecryptorFactory
APBEDataDecryptorFactory
for handling PBE decryption operations using the Bouncy Castle lightweight API to implement cryptographic primitives.
-
-
Constructor Summary
Constructors Constructor Description BcPBEDataDecryptorFactory(char[] pass, BcPGPDigestCalculatorProvider calculatorProvider)
Base constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PGPDataDecryptor
createDataDecryptor(boolean withIntegrityPacket, int encAlgorithm, byte[] key)
PGPDataDecryptor
createDataDecryptor(AEADEncDataPacket aeadEncDataPacket, PGPSessionKey sessionKey)
Constructs a data decryptor forAEAD Encrypted Data
packets.PGPDataDecryptor
createDataDecryptor(SymmetricEncIntegrityPacket seipd, PGPSessionKey sessionKey)
Constructs a data decryptor forv2 SEIPD
packets.byte[]
recoverAEADEncryptedSessionData(SymmetricKeyEncSessionPacket keyData, byte[] ikm)
byte[]
recoverSessionData(int keyAlgorithm, byte[] key, byte[] secKeyData)
Recover the session key from a version 4 SKESK packet used in OpenPGP v4.-
Methods inherited from class org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory
makeKeyFromPassPhrase
-
-
-
-
Constructor Detail
-
BcPBEDataDecryptorFactory
public BcPBEDataDecryptorFactory(char[] pass, BcPGPDigestCalculatorProvider calculatorProvider)
Base constructor.- Parameters:
pass
- the passphrase to use as the primary source of key material.calculatorProvider
- a digest calculator provider to provide calculators to support the key generation calculation required.
-
-
Method Detail
-
recoverSessionData
public byte[] recoverSessionData(int keyAlgorithm, byte[] key, byte[] secKeyData) throws PGPException
Recover the session key from a version 4 SKESK packet used in OpenPGP v4.- Specified by:
recoverSessionData
in classPBEDataDecryptorFactory
- Parameters:
keyAlgorithm
- theencryption algorithm
used to encrypt the session data.key
- the key bytes for the encryption algorithm.secKeyData
- the encrypted session data to decrypt.- Returns:
- session key
- Throws:
PGPException
-
recoverAEADEncryptedSessionData
public byte[] recoverAEADEncryptedSessionData(SymmetricKeyEncSessionPacket keyData, byte[] ikm) throws PGPException
Description copied from class:PBEDataDecryptorFactory
- Specified by:
recoverAEADEncryptedSessionData
in classPBEDataDecryptorFactory
- Parameters:
keyData
- v5 or v6 SKESK packetikm
- initial keying material (e.g. S2K result)- Returns:
- session key
- Throws:
PGPException
-
createDataDecryptor
public PGPDataDecryptor createDataDecryptor(boolean withIntegrityPacket, int encAlgorithm, byte[] key) throws PGPException
Description copied from interface:PGPDataDecryptorFactory
- Parameters:
withIntegrityPacket
- true if the packet to be decrypted has integrity checking enabled.encAlgorithm
- the identifier of theencryption algorithm
to decrypt with.key
- the bytes of the key for the cipher.- Returns:
- a data decryptor that can decrypt (and verify) streams of encrypted data.
- Throws:
PGPException
- if an error occurs initialising the decryption and integrity checking functions.
-
createDataDecryptor
public PGPDataDecryptor createDataDecryptor(AEADEncDataPacket aeadEncDataPacket, PGPSessionKey sessionKey) throws PGPException
Description copied from interface:PGPDataDecryptorFactory
Constructs a data decryptor forAEAD Encrypted Data
packets. This method is used with OpenPGP v5 AEAD.- Parameters:
aeadEncDataPacket
- AEAD encrypted data packetsessionKey
- decrypted session key- Returns:
- a data decryptor that can decrypt (and verify) streams of encrypted data.
- Throws:
PGPException
- if an error occurs initialising the decryption and integrity checking functions.
-
createDataDecryptor
public PGPDataDecryptor createDataDecryptor(SymmetricEncIntegrityPacket seipd, PGPSessionKey sessionKey) throws PGPException
Description copied from interface:PGPDataDecryptorFactory
Constructs a data decryptor forv2 SEIPD
packets. This method is used with OpenPGP v6 AEAD.- Parameters:
seipd
- version 2 symmetrically encrypted integrity-protected data packet using AEAD.sessionKey
- decrypted session key- Returns:
- a data decryptor that can decrypt (and verify) streams of encrypted data.
- Throws:
PGPException
- if an error occurs initialising the decryption and integrity checking functions.
-
-