Class PBESecretKeyEncryptor

java.lang.Object
org.bouncycastle.openpgp.operator.PBESecretKeyEncryptor

public abstract class PBESecretKeyEncryptor extends Object
  • Field Details

    • encAlgorithm

      protected int encAlgorithm
    • aeadAlgorithm

      protected int aeadAlgorithm
    • passPhrase

      protected char[] passPhrase
    • s2kDigestCalculator

      protected PGPDigestCalculator s2kDigestCalculator
    • s2kCount

      protected int s2kCount
    • s2k

      protected S2K s2k
    • random

      protected SecureRandom random
  • Constructor Details

    • PBESecretKeyEncryptor

      protected PBESecretKeyEncryptor(int encAlgorithm, int aeadAlgorithm, S2K.Argon2Params argon2Params, SecureRandom random, char[] passPhrase)
    • PBESecretKeyEncryptor

      protected PBESecretKeyEncryptor(int encAlgorithm, PGPDigestCalculator s2kDigestCalculator, SecureRandom random, char[] passPhrase)
    • PBESecretKeyEncryptor

      protected PBESecretKeyEncryptor(int encAlgorithm, PGPDigestCalculator s2kDigestCalculator, int s2kCount, SecureRandom random, char[] passPhrase)
  • Method Details

    • getAlgorithm

      public int getAlgorithm()
    • getAeadAlgorithm

      public int getAeadAlgorithm()
    • getHashAlgorithm

      public int getHashAlgorithm()
    • getKey

      public byte[] getKey() throws PGPException
      Throws:
      PGPException
    • getS2K

      public S2K getS2K()
    • encryptKeyData

      public byte[] encryptKeyData(byte[] keyData, int keyOff, int keyLen) throws PGPException
      Key encryption method invoked for V4 keys and greater.
      Parameters:
      keyData - raw key data
      keyOff - offset into raw key data
      keyLen - length of key data to use.
      Returns:
      an encryption of the passed in keyData.
      Throws:
      PGPException - on error in the underlying encryption process.
    • encryptKeyData

      public abstract byte[] encryptKeyData(byte[] key, byte[] keyData, int keyOff, int keyLen) throws PGPException
      Throws:
      PGPException
    • encryptKeyData

      public byte[] encryptKeyData(byte[] key, byte[] iv, byte[] keyData, int keyOff, int keyLen) throws PGPException
      Encrypt the passed in keyData using the key and the iv provided.

      This method is only used for processing version 3 keys.

      Throws:
      PGPException
    • getCipherIV

      public abstract byte[] getCipherIV()