Class PublicKeyKeyEncryptionMethodGenerator

java.lang.Object
org.bouncycastle.openpgp.operator.PGPKeyEncryptionMethodGenerator
org.bouncycastle.openpgp.operator.PublicKeyKeyEncryptionMethodGenerator
Direct Known Subclasses:
BcPublicKeyKeyEncryptionMethodGenerator, JcePublicKeyKeyEncryptionMethodGenerator

public abstract class PublicKeyKeyEncryptionMethodGenerator extends PGPKeyEncryptionMethodGenerator
  • Field Details

    • SESSION_KEY_OBFUSCATION_PROPERTY

      public static final String SESSION_KEY_OBFUSCATION_PROPERTY
      See Also:
    • sessionKeyObfuscation

      protected boolean sessionKeyObfuscation
  • Constructor Details

    • PublicKeyKeyEncryptionMethodGenerator

      protected PublicKeyKeyEncryptionMethodGenerator(PGPPublicKey pubKey)
  • Method Details

    • setSessionKeyObfuscation

      public PublicKeyKeyEncryptionMethodGenerator setSessionKeyObfuscation(boolean enabled)
      Controls whether to obfuscate the size of ECDH session keys using extra padding where necessary.

      The default behaviour can be configured using the system property "", or else it will default to enabled.

      Returns:
      the current generator.
    • processSessionInfo

      public byte[][] processSessionInfo(byte[] encryptedSessionInfo) throws PGPException
      Throws:
      PGPException
    • generate

      public ContainedPacket generate(int encAlgorithm, byte[] sessionInfo) throws PGPException
      Description copied from class: PGPKeyEncryptionMethodGenerator
      Generates a packet encoding the details of this encryption method.
      Specified by:
      generate in class PGPKeyEncryptionMethodGenerator
      Parameters:
      encAlgorithm - the encryption algorithm being used
      sessionInfo - session data generated by the encrypted data generator.
      Returns:
      a packet encoding the provided information and the configuration of this instance.
      Throws:
      PGPException - if an error occurs constructing the packet.
    • encryptSessionInfo

      protected abstract byte[] encryptSessionInfo(PGPPublicKey pubKey, byte[] sessionInfo) throws PGPException
      Throws:
      PGPException