PGPEncryptedData
Date: 2016-06-23

org.bouncycastle.openpgp

## Class PGPEncryptedData

- java.lang.Object
- - org.bouncycastle.openpgp.PGPEncryptedData

- All Implemented Interfaces:
    SymmetricKeyAlgorithmTags
  Direct Known Subclasses:
    PGPPBEEncryptedData, PGPPublicKeyEncryptedData

      public abstract class PGPEncryptedData
      extends java.lang.Object
      implements SymmetricKeyAlgorithmTags

  A PGP encrypted data object.

  Encrypted data packets are decrypted using a `PGPDataDecryptor` obtained from a `PGPDataDecryptorFactory`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `PGPEncryptedData.TruncatedStream`

  - ### Field Summary

    - ### Fields inherited from interface org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags

      `AES_128, AES_192, AES_256, BLOWFISH, CAMELLIA_128, CAMELLIA_192, CAMELLIA_256, CAST5, DES, IDEA, NULL, SAFER, TRIPLE_DES, TWOFISH`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.io.InputStream` | `getInputStream()` Return the raw input stream for the data stream.
    `boolean` | `isIntegrityProtected()` Checks whether the packet is integrity protected.
    `boolean` | `verify()` Verifies the integrity of the packet against the modification detection code associated with it in the stream.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### getInputStream

          public java.io.InputStream getInputStream()

      Return the raw input stream for the data stream.

      Note this stream is shared with all other encryption methods in the same `PGPEncryptedDataList` and with any decryption methods in sub-classes, so consuming this stream will affect decryption.

      Returns:
        the encrypted data in this packet.

    - #### isIntegrityProtected

          public boolean isIntegrityProtected()

      Checks whether the packet is integrity protected.
      Returns:
        `true` if there is a modification detection code package associated with this stream

    - #### verify

          public boolean verify()
                         throws PGPException,
                                java.io.IOException

      Verifies the integrity of the packet against the modification detection code associated with it in the stream.

      Note: This can only be called after the message has been read.

      Returns:
        `true` if the message verifies, `false` otherwise.
      Throws:
        `PGPException` - if the message is not `integrity protected`.
        `java.io.IOException`