Class PBEDataDecryptorFactory

java.lang.Object
org.bouncycastle.openpgp.operator.PBEDataDecryptorFactory
All Implemented Interfaces:
PGPDataDecryptorFactory
Direct Known Subclasses:
BcPBEDataDecryptorFactory

public abstract class PBEDataDecryptorFactory extends Object implements PGPDataDecryptorFactory
A factory for performing PBE decryption operations.
  • 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

      public byte[] makeKeyFromPassPhrase(int keyAlgorithm, S2K s2k) throws PGPException
      Generates an encryption key using the pass phrase and digest calculator configured for this factory.
      Parameters:
      keyAlgorithm - the encryption 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 a v4 SKESK packet. These are used in OpenPGP v4.
      Parameters:
      keyAlgorithm - the encryption 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
      Recover the session data of a v5 SKESK or v6 SKESK packet. These are used in OpenPGP v5 and v6.
      Parameters:
      keyData - v5 or v6 SKESK packet
      ikm - initial keying material (e.g. S2K result)
      Returns:
      session key
      Throws:
      PGPException