Class PBEDataDecryptorFactory
java.lang.Object
org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory
- All Implemented Interfaces:
PGPDataDecryptorFactory
- Direct Known Subclasses:
BcPBEDataDecryptorFactory
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
ConstructorsModifierConstructorDescriptionprotected
PBEDataDecryptorFactory
(char[] passPhrase, PGPDigestCalculatorProvider calculatorProvider) Construct a PBE data decryptor factory. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
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 SKESK
packet.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 Details
-
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 Details
-
makeKeyFromPassPhrase
Generates an encryption key using the pass phrase and digest calculator configured for this factory.- Parameters:
keyAlgorithm
- theencryption algorithm
to 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 PGPException Decrypts session data from av4 SKESK
packet. These are used in OpenPGP v4.- Parameters:
keyAlgorithm
- theencryption algorithm
used 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
-