Class BcPublicKeyDataDecryptorFactory
- java.lang.Object
-
- org.bouncycastle.openpgp.operator.AbstractPublicKeyDataDecryptorFactory
-
- org.bouncycastle.openpgp.operator.bc.BcPublicKeyDataDecryptorFactory
-
- All Implemented Interfaces:
PGPDataDecryptorFactory
,PublicKeyDataDecryptorFactory
public class BcPublicKeyDataDecryptorFactory extends AbstractPublicKeyDataDecryptorFactory
A decryptor factory for handling public key decryption operations.
-
-
Constructor Summary
Constructors Constructor Description BcPublicKeyDataDecryptorFactory(PGPPrivateKey pgpPrivKey)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PGPDataDecryptor
createDataDecryptor(boolean withIntegrityPacket, int encAlgorithm, byte[] key)
PGPDataDecryptor
createDataDecryptor(AEADEncDataPacket aeadEncDataPacket, PGPSessionKey sessionKey)
Constructs a data decryptor forAEAD Encrypted Data
packets.PGPDataDecryptor
createDataDecryptor(SymmetricEncIntegrityPacket seipd, PGPSessionKey sessionKey)
Constructs a data decryptor forv2 SEIPD
packets.byte[]
recoverSessionData(int keyAlgorithm, byte[][] secKeyData, int pkeskVersion)
Recover the plain session info by decrypting the encrypted session key.-
Methods inherited from class org.bouncycastle.openpgp.operator.AbstractPublicKeyDataDecryptorFactory
checkRange, containsSKAlg, prependSKAlgorithmToSessionData, recoverSessionData, recoverSessionData
-
-
-
-
Constructor Detail
-
BcPublicKeyDataDecryptorFactory
public BcPublicKeyDataDecryptorFactory(PGPPrivateKey pgpPrivKey)
-
-
Method Detail
-
recoverSessionData
public byte[] recoverSessionData(int keyAlgorithm, byte[][] secKeyData, int pkeskVersion) throws PGPException
Description copied from interface:PublicKeyDataDecryptorFactory
Recover the plain session info by decrypting the encrypted session key. This method returns the decrypted session info as-is (without prefixing missing cipher algorithm), so the return value is:[sym-alg]?[session-key][checksum]?
- Parameters:
keyAlgorithm
- public key algorithmsecKeyData
- encrypted session key datapkeskVersion
- version of the PKESK packet- Returns:
- decrypted session info
- Throws:
PGPException
-
createDataDecryptor
public PGPDataDecryptor createDataDecryptor(boolean withIntegrityPacket, int encAlgorithm, byte[] key) throws PGPException
Description copied from interface:PGPDataDecryptorFactory
- Parameters:
withIntegrityPacket
-true
if the packet to be decrypted has integrity checking enabled.encAlgorithm
- the identifier of theencryption 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 forAEAD Encrypted Data
packets. 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:PGPDataDecryptorFactory
Constructs a data decryptor forv2 SEIPD
packets. 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.
-
-