public class BcPBEDataDecryptorFactory extends PBEDataDecryptorFactory
PBEDataDecryptorFactory
for handling PBE decryption operations using the Bouncy Castle
lightweight API to implement cryptographic primitives.Constructor and Description |
---|
BcPBEDataDecryptorFactory(char[] pass,
BcPGPDigestCalculatorProvider calculatorProvider)
Base constructor.
|
Modifier and Type | Method and Description |
---|---|
PGPDataDecryptor |
createDataDecryptor(AEADEncDataPacket aeadEncDataPacket,
PGPSessionKey sessionKey)
Constructs a data decryptor for
AEAD Encrypted Data packets. |
PGPDataDecryptor |
createDataDecryptor(boolean withIntegrityPacket,
int encAlgorithm,
byte[] key)
|
PGPDataDecryptor |
createDataDecryptor(SymmetricEncIntegrityPacket seipd,
PGPSessionKey sessionKey)
Constructs a data decryptor for
v2 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.
|
makeKeyFromPassPhrase
public BcPBEDataDecryptorFactory(char[] pass, BcPGPDigestCalculatorProvider calculatorProvider)
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.public byte[] recoverSessionData(int keyAlgorithm, byte[] key, byte[] secKeyData) throws PGPException
recoverSessionData
in class PBEDataDecryptorFactory
keyAlgorithm
- the encryption algorithm
used to
encrypt the session data.key
- the key bytes for the encryption algorithm.secKeyData
- the encrypted session data to decrypt.PGPException
public byte[] recoverAEADEncryptedSessionData(SymmetricKeyEncSessionPacket keyData, byte[] ikm) throws PGPException
PBEDataDecryptorFactory
recoverAEADEncryptedSessionData
in class PBEDataDecryptorFactory
keyData
- v5 or v6 SKESK packetikm
- initial keying material (e.g. S2K result)PGPException
public PGPDataDecryptor createDataDecryptor(boolean withIntegrityPacket, int encAlgorithm, byte[] key) throws PGPException
PGPDataDecryptorFactory
withIntegrityPacket
- true
if the packet to be decrypted has integrity
checking enabled.encAlgorithm
- the identifier of the encryption
algorithm
to decrypt with.key
- the bytes of the key for the cipher.PGPException
- if an error occurs initialising the decryption and integrity checking
functions.public PGPDataDecryptor createDataDecryptor(AEADEncDataPacket aeadEncDataPacket, PGPSessionKey sessionKey) throws PGPException
PGPDataDecryptorFactory
AEAD Encrypted Data
packets.
This method is used with OpenPGP v5 AEAD.aeadEncDataPacket
- AEAD encrypted data packetsessionKey
- decrypted session keyPGPException
- if an error occurs initialising the decryption and integrity checking
functions.public PGPDataDecryptor createDataDecryptor(SymmetricEncIntegrityPacket seipd, PGPSessionKey sessionKey) throws PGPException
PGPDataDecryptorFactory
v2 SEIPD
packets.
This method is used with OpenPGP v6 AEAD.seipd
- version 2 symmetrically encrypted integrity-protected data packet using AEAD.sessionKey
- decrypted session keyPGPException
- if an error occurs initialising the decryption and integrity checking
functions.