SignaturePacket
Date: 2016-06-23

org.bouncycastle.bcpg

## Class SignaturePacket

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

- All Implemented Interfaces:
    PacketTags, PublicKeyAlgorithmTags, org.bouncycastle.util.Encodable

      public class SignaturePacket
      extends ContainedPacket
      implements PublicKeyAlgorithmTags

  generic signature packet

- - ### 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
    `SignaturePacket(int version, int signatureType, long keyID, int keyAlgorithm, int hashAlgorithm, long creationTime, byte[] fingerPrint, MPInteger[] signature)` Generate a version 2/3 signature packet.
    `SignaturePacket(int version, int signatureType, long keyID, int keyAlgorithm, int hashAlgorithm, SignatureSubpacket[] hashedData, SignatureSubpacket[] unhashedData, byte[] fingerPrint, MPInteger[] signature)`
    `SignaturePacket(int signatureType, long keyID, int keyAlgorithm, int hashAlgorithm, SignatureSubpacket[] hashedData, SignatureSubpacket[] unhashedData, byte[] fingerPrint, MPInteger[] signature)` Generate a version 4 signature packet.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `encode(BCPGOutputStream out)`
    `static SignaturePacket` | `fromByteArray(byte[] data)`
    `long` | `getCreationTime()` Return the creation time of the signature in milli-seconds.
    `int` | `getHashAlgorithm()` return the hashAlgorithm tag
    `SignatureSubpacket[]` | `getHashedSubPackets()`
    `int` | `getKeyAlgorithm()` return the encryption algorithm tag
    `long` | `getKeyID()` return the keyID
    `MPInteger[]` | `getSignature()` return the signature as a set of integers - note this is normalised to be the ASN.1 encoding of what appears in the signature packet.
    `byte[]` | `getSignatureBytes()` Return the byte encoding of the signature section.
    `byte[]` | `getSignatureTrailer()` return the signature trailer that must be included with the data to reconstruct the signature
    `int` | `getSignatureType()` return the signature type.
    `SignatureSubpacket[]` | `getUnhashedSubPackets()`
    `int` | `getVersion()` get the version number

    - ### 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

    - #### SignaturePacket

          public SignaturePacket(int signatureType,
                         long keyID,
                         int keyAlgorithm,
                         int hashAlgorithm,
                         SignatureSubpacket[] hashedData,
                         SignatureSubpacket[] unhashedData,
                         byte[] fingerPrint,
                         MPInteger[] signature)

      Generate a version 4 signature packet.
      Parameters:
        `signatureType` -
        `keyAlgorithm` -
        `hashAlgorithm` -
        `hashedData` -
        `unhashedData` -
        `fingerPrint` -
        `signature` -

    - #### SignaturePacket

          public SignaturePacket(int version,
                         int signatureType,
                         long keyID,
                         int keyAlgorithm,
                         int hashAlgorithm,
                         long creationTime,
                         byte[] fingerPrint,
                         MPInteger[] signature)

      Generate a version 2/3 signature packet.
      Parameters:
        `signatureType` -
        `keyAlgorithm` -
        `hashAlgorithm` -
        `fingerPrint` -
        `signature` -

    - #### SignaturePacket

          public SignaturePacket(int version,
                         int signatureType,
                         long keyID,
                         int keyAlgorithm,
                         int hashAlgorithm,
                         SignatureSubpacket[] hashedData,
                         SignatureSubpacket[] unhashedData,
                         byte[] fingerPrint,
                         MPInteger[] signature)

  - ### Method Detail

    - #### getVersion

          public int getVersion()

      get the version number

    - #### getSignatureType

          public int getSignatureType()

      return the signature type.

    - #### getKeyID

          public long getKeyID()

      return the keyID
      Returns:
        the keyID that created the signature.

    - #### getSignatureTrailer

          public byte[] getSignatureTrailer()

      return the signature trailer that must be included with the data to reconstruct the signature
      Returns:
        byte[]

    - #### getKeyAlgorithm

          public int getKeyAlgorithm()

      return the encryption algorithm tag

    - #### getHashAlgorithm

          public int getHashAlgorithm()

      return the hashAlgorithm tag

    - #### getSignature

          public MPInteger[] getSignature()

      return the signature as a set of integers - note this is normalised to be the ASN.1 encoding of what appears in the signature packet.

    - #### getSignatureBytes

          public byte[] getSignatureBytes()

      Return the byte encoding of the signature section.
      Returns:
        uninterpreted signature bytes.

    - #### getHashedSubPackets

          public SignatureSubpacket[] getHashedSubPackets()

    - #### getUnhashedSubPackets

          public SignatureSubpacket[] getUnhashedSubPackets()

    - #### getCreationTime

          public long getCreationTime()

      Return the creation time of the signature in milli-seconds.
      Returns:
        the creation time in millis

    - #### encode

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

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

    - #### fromByteArray

          public static SignaturePacket fromByteArray(byte[] data)
                                               throws java.io.IOException

      Throws:
        `java.io.IOException`