Class BcPBEDataDecryptorFactory
java.lang.Object
org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory
org.bouncycastle.openpgp.operator.bc.BcPBEDataDecryptorFactory
- All Implemented Interfaces:
PGPDataDecryptorFactory
A
PBEDataDecryptorFactory for handling PBE decryption operations using the Bouncy Castle
lightweight API to implement cryptographic primitives.-
Constructor Summary
ConstructorsConstructorDescriptionBcPBEDataDecryptorFactory(char[] pass, PGPDigestCalculatorProvider calculatorProvider) Base constructor. -
Method Summary
Modifier and TypeMethodDescriptioncreateDataDecryptor(boolean withIntegrityPacket, int encAlgorithm, byte[] key) createDataDecryptor(AEADEncDataPacket aeadEncDataPacket, PGPSessionKey sessionKey) Constructs a data decryptor forAEAD Encrypted Datapackets.createDataDecryptor(SymmetricEncIntegrityPacket seipd, PGPSessionKey sessionKey) Constructs a data decryptor forv2 SEIPDpackets.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 Details
-
BcPBEDataDecryptorFactory
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 Details
-
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:
recoverSessionDatain classPBEDataDecryptorFactory- Parameters:
keyAlgorithm- theencryption algorithmused 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:
recoverAEADEncryptedSessionDatain 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-trueif the packet to be decrypted has integrity checking enabled.encAlgorithm- the identifier of theencryption algorithmto 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:PGPDataDecryptorFactoryConstructs a data decryptor forAEAD Encrypted Datapackets. 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:PGPDataDecryptorFactoryConstructs a data decryptor forv2 SEIPDpackets. 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.
-