Class PBEDataDecryptorFactory
- java.lang.Object
-
- org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory
-
- All Implemented Interfaces:
PGPDataDecryptorFactory
- Direct Known Subclasses:
BcPBEDataDecryptorFactory
public abstract class PBEDataDecryptorFactory extends java.lang.Object implements PGPDataDecryptorFactory
A factory for performing PBE decryption operations. The purpose of this class is to act as an abstract factory, whose subclasses can decide, which concrete implementation to use for symmetric decryption of SKESK (symmetric-key-encrypted session-key) packets.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedPBEDataDecryptorFactory(char[] passPhrase, PGPDigestCalculatorProvider calculatorProvider)Construct a PBE data decryptor factory.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description byte[]makeKeyFromPassPhrase(int keyAlgorithm, S2K s2k)Generates an encryption key using the pass phrase and digest calculator configured for this factory.abstract byte[]recoverAEADEncryptedSessionData(SymmetricKeyEncSessionPacket keyData, byte[] ikm)abstract byte[]recoverSessionData(int keyAlgorithm, byte[] key, byte[] seckKeyData)Decrypts session data from av4 SKESKpacket.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
createDataDecryptor, createDataDecryptor, createDataDecryptor
-
-
-
-
Constructor Detail
-
PBEDataDecryptorFactory
protected PBEDataDecryptorFactory(char[] passPhrase, PGPDigestCalculatorProvider calculatorProvider)Construct a PBE data decryptor factory.- Parameters:
passPhrase- the pass phrase to generate decryption keys with.calculatorProvider- the digest to use in key generation.
-
-
Method Detail
-
makeKeyFromPassPhrase
public byte[] makeKeyFromPassPhrase(int keyAlgorithm, S2K s2k) throws PGPExceptionGenerates an encryption key using the pass phrase and digest calculator configured for this factory.- Parameters:
keyAlgorithm- theencryption algorithmto generate a key for.s2k- the string-to-key specification to use to generate the key.- Returns:
- the key bytes for the encryption algorithm, generated using the pass phrase of this factory.
- Throws:
PGPException- if an error occurs generating the key.
-
recoverSessionData
public abstract byte[] recoverSessionData(int keyAlgorithm, byte[] key, byte[] seckKeyData) throws PGPExceptionDecrypts session data from av4 SKESKpacket. These are used in OpenPGP v4.- Parameters:
keyAlgorithm- theencryption algorithmused to encrypt the session data.key- the key bytes for the encryption algorithm.seckKeyData- the encrypted session data to decrypt.- Returns:
- the decrypted session data.
- Throws:
PGPException- if an error occurs decrypting the session data.
-
recoverAEADEncryptedSessionData
public abstract byte[] recoverAEADEncryptedSessionData(SymmetricKeyEncSessionPacket keyData, byte[] ikm) throws PGPException
- Parameters:
keyData- v5 or v6 SKESK packetikm- initial keying material (e.g. S2K result)- Returns:
- session key
- Throws:
PGPException
-
-