PublicKeyPacket
Date: 2016-06-23

org.bouncycastle.bcpg

## Class PublicKeyPacket

- java.lang.Object
- - org.bouncycastle.bcpg.Packet
  - - org.bouncycastle.bcpg.ContainedPacket
    - - org.bouncycastle.bcpg.PublicKeyPacket

- All Implemented Interfaces:
    PacketTags, PublicKeyAlgorithmTags, org.bouncycastle.util.Encodable
  Direct Known Subclasses:
    PublicSubkeyPacket

      public class PublicKeyPacket
      extends ContainedPacket
      implements PublicKeyAlgorithmTags

  basic packet for a PGP public key

- - ### Field Summary

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

      `DIFFIE_HELLMAN, DSA, EC, ECDH, ECDSA, ELGAMAL_ENCRYPT, ELGAMAL_GENERAL, EXPERIMENTAL_1, EXPERIMENTAL_10, EXPERIMENTAL_11, EXPERIMENTAL_2, EXPERIMENTAL_3, EXPERIMENTAL_4, EXPERIMENTAL_5, EXPERIMENTAL_6, EXPERIMENTAL_7, EXPERIMENTAL_8, EXPERIMENTAL_9, RSA_ENCRYPT, RSA_GENERAL, RSA_SIGN`

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

      `COMPRESSED_DATA, EXPERIMENTAL_1, EXPERIMENTAL_2, EXPERIMENTAL_3, EXPERIMENTAL_4, LITERAL_DATA, MARKER, MOD_DETECTION_CODE, ONE_PASS_SIGNATURE, PUBLIC_KEY, PUBLIC_KEY_ENC_SESSION, PUBLIC_SUBKEY, RESERVED, SECRET_KEY, SECRET_SUBKEY, SIGNATURE, SYM_ENC_INTEGRITY_PRO, SYMMETRIC_KEY_ENC, SYMMETRIC_KEY_ENC_SESSION, TRUST, USER_ATTRIBUTE, USER_ID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PublicKeyPacket(int algorithm, java.util.Date time, BCPGKey key)` Construct version 4 public key packet.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `encode(BCPGOutputStream out)`
    `int` | `getAlgorithm()`
    `byte[]` | `getEncodedContents()`
    `BCPGKey` | `getKey()`
    `java.util.Date` | `getTime()`
    `int` | `getValidDays()`
    `int` | `getVersion()`

    - ### Methods inherited from class org.bouncycastle.bcpg.ContainedPacket

      `getEncoded`

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

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

- - ### Constructor Detail

    - #### PublicKeyPacket

          public PublicKeyPacket(int algorithm,
                         java.util.Date time,
                         BCPGKey key)

      Construct version 4 public key packet.
      Parameters:
        `algorithm` -
        `time` -
        `key` -

  - ### Method Detail

    - #### getVersion

          public int getVersion()

    - #### getAlgorithm

          public int getAlgorithm()

    - #### getValidDays

          public int getValidDays()

    - #### getTime

          public java.util.Date getTime()

    - #### getKey

          public BCPGKey getKey()

    - #### getEncodedContents

          public byte[] getEncodedContents()
                                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### encode

          public void encode(BCPGOutputStream out)
                      throws java.io.IOException

      Specified by:
        `encode` in class `ContainedPacket`
      Throws:
        `java.io.IOException`