org.bouncycastle.openpgp.operator.bc
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
A PBEDataDecryptorFactory
for handling PBE decryption operations using the Bouncy Castle
lightweight API to implement cryptographic primitives.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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.
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.
- Overrides:
recoverSessionData
in class PBEDataDecryptorFactory
- Parameters:
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.- Returns:
- session key
- Throws:
PGPException
-
recoverAEADEncryptedSessionData
public byte[] recoverAEADEncryptedSessionData(SymmetricKeyEncSessionPacket keyData,
byte[] ikm)
throws PGPException
- Description copied from class:
PBEDataDecryptorFactory
- Recover the session data of a
v5 SKESK
or
v6 SKESK
packet.
These are used in OpenPGP v5 and v6.
- Overrides:
recoverAEADEncryptedSessionData
in class PBEDataDecryptorFactory
- Following copied from class:
org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory
- 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
- Constructs a data decryptor for
SED
or
v1 SEIPD
packets.- Following copied from interface:
org.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
- Parameters:
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.- 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 for
AEAD Encrypted Data
packets.
This method is used with OpenPGP v5 AEAD.- Following copied from interface:
org.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
- 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 for
v2 SEIPD
packets.
This method is used with OpenPGP v6 AEAD.- Following copied from interface:
org.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
- 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.