Class AbstractPublicKeyDataDecryptorFactory

java.lang.Object
org.bouncycastle.openpgp.operator.AbstractPublicKeyDataDecryptorFactory
All Implemented Interfaces:
PGPDataDecryptorFactory, PublicKeyDataDecryptorFactory
Direct Known Subclasses:
BcPublicKeyDataDecryptorFactory

public abstract class AbstractPublicKeyDataDecryptorFactory extends Object implements PublicKeyDataDecryptorFactory
  • Constructor Details

    • AbstractPublicKeyDataDecryptorFactory

      public AbstractPublicKeyDataDecryptorFactory()
  • Method Details

    • recoverSessionData

      public final byte[] recoverSessionData(PublicKeyEncSessionPacket pkesk, InputStreamPacket encData) throws PGPException
      Description copied from interface: PublicKeyDataDecryptorFactory
      Recover the plain session info by decrypting the encrypted session key. The session info ALWAYS has the symmetric algorithm ID prefixed, so the return value is:
      [sym-alg][session-key][checksum]?
      Specified by:
      recoverSessionData in interface PublicKeyDataDecryptorFactory
      Parameters:
      pkesk - public-key encrypted session-key packet
      encData - encrypted data (sed/seipd/oed) packet
      Returns:
      decrypted session info
      Throws:
      PGPException
    • recoverSessionData

      public byte[] recoverSessionData(int keyAlgorithm, byte[][] secKeyData) 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]?
      Specified by:
      recoverSessionData in interface PublicKeyDataDecryptorFactory
      Parameters:
      keyAlgorithm - public key algorithm
      secKeyData - encrypted session key data
      Returns:
      decrypted session info
      Throws:
      PGPException
    • prependSKAlgorithmToSessionData

      protected byte[] prependSKAlgorithmToSessionData(PublicKeyEncSessionPacket pkesk, InputStreamPacket encData, byte[] decryptedSessionData) throws PGPException
      Throws:
      PGPException
    • containsSKAlg

      protected boolean containsSKAlg(int pkeskVersion)
    • checkRange

      protected static void checkRange(int pLen, byte[] enc) throws PGPException
      Throws:
      PGPException