PGPSignature
Date: 2016-06-23

org.bouncycastle.openpgp

## Class PGPSignature

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

-     public class PGPSignature
      extends java.lang.Object

  A PGP signature object.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `BINARY_DOCUMENT`
    `static int` | `CANONICAL_TEXT_DOCUMENT`
    `static int` | `CASUAL_CERTIFICATION`
    `static int` | `CERTIFICATION_REVOCATION`
    `static int` | `DEFAULT_CERTIFICATION`
    `static int` | `DIRECT_KEY`
    `static int` | `KEY_REVOCATION`
    `static int` | `NO_CERTIFICATION`
    `static int` | `POSITIVE_CERTIFICATION`
    `static int` | `PRIMARYKEY_BINDING`
    `static int` | `STAND_ALONE`
    `static int` | `SUBKEY_BINDING`
    `static int` | `SUBKEY_REVOCATION`
    `static int` | `TIMESTAMP`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `encode(java.io.OutputStream outStream)`
    `java.util.Date` | `getCreationTime()` Return the creation time of the signature.
    `byte[]` | `getEncoded()`
    `int` | `getHashAlgorithm()` Return the hash algorithm associated with this signature.
    `PGPSignatureSubpacketVector` | `getHashedSubPackets()`
    `int` | `getKeyAlgorithm()` Return the key algorithm associated with this signature.
    `long` | `getKeyID()` Return the id of the key that created the signature.
    `byte[]` | `getSignature()`
    `byte[]` | `getSignatureTrailer()`
    `int` | `getSignatureType()`
    `PGPSignatureSubpacketVector` | `getUnhashedSubPackets()`
    `int` | `getVersion()` Return the OpenPGP version number for this signature.
    `boolean` | `hasSubpackets()` Return true if the signature has either hashed or unhashed subpackets.
    `void` | `init(PGPContentVerifierBuilderProvider verifierBuilderProvider, PGPPublicKey pubKey)`
    `void` | `update(byte b)`
    `void` | `update(byte[] bytes)`
    `void` | `update(byte[] bytes, int off, int length)`
    `boolean` | `verify()`
    `boolean` | `verifyCertification(byte[] rawID, PGPPublicKey key)` Verify the signature as certifying the passed in public key as associated with the passed in rawID.
    `boolean` | `verifyCertification(PGPPublicKey pubKey)` Verify a key certification, such as a revocation, for the passed in key.
    `boolean` | `verifyCertification(PGPPublicKey masterKey, PGPPublicKey pubKey)` Verify a certification for the passed in key against the passed in master key.
    `boolean` | `verifyCertification(PGPUserAttributeSubpacketVector userAttributes, PGPPublicKey key)` Verify the signature as certifying the passed in public key as associated with the passed in user attributes.
    `boolean` | `verifyCertification(java.lang.String id, PGPPublicKey key)` Verify the signature as certifying the passed in public key as associated with the passed in id.

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

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

- - ### Field Detail

    - #### BINARY_DOCUMENT

          public static final int BINARY_DOCUMENT

      See Also:
        Constant Field Values

    - #### CANONICAL_TEXT_DOCUMENT

          public static final int CANONICAL_TEXT_DOCUMENT

      See Also:
        Constant Field Values

    - #### STAND_ALONE

          public static final int STAND_ALONE

      See Also:
        Constant Field Values

    - #### DEFAULT_CERTIFICATION

          public static final int DEFAULT_CERTIFICATION

      See Also:
        Constant Field Values

    - #### NO_CERTIFICATION

          public static final int NO_CERTIFICATION

      See Also:
        Constant Field Values

    - #### CASUAL_CERTIFICATION

          public static final int CASUAL_CERTIFICATION

      See Also:
        Constant Field Values

    - #### POSITIVE_CERTIFICATION

          public static final int POSITIVE_CERTIFICATION

      See Also:
        Constant Field Values

    - #### SUBKEY_BINDING

          public static final int SUBKEY_BINDING

      See Also:
        Constant Field Values

    - #### PRIMARYKEY_BINDING

          public static final int PRIMARYKEY_BINDING

      See Also:
        Constant Field Values

    - #### DIRECT_KEY

          public static final int DIRECT_KEY

      See Also:
        Constant Field Values

    - #### KEY_REVOCATION

          public static final int KEY_REVOCATION

      See Also:
        Constant Field Values

    - #### SUBKEY_REVOCATION

          public static final int SUBKEY_REVOCATION

      See Also:
        Constant Field Values

    - #### CERTIFICATION_REVOCATION

          public static final int CERTIFICATION_REVOCATION

      See Also:
        Constant Field Values

    - #### TIMESTAMP

          public static final int TIMESTAMP

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getVersion

          public int getVersion()

      Return the OpenPGP version number for this signature.
      Returns:
        signature version number.

    - #### getKeyAlgorithm

          public int getKeyAlgorithm()

      Return the key algorithm associated with this signature.
      Returns:
        signature key algorithm.

    - #### getHashAlgorithm

          public int getHashAlgorithm()

      Return the hash algorithm associated with this signature.
      Returns:
        signature hash algorithm.

    - #### init

          public void init(PGPContentVerifierBuilderProvider verifierBuilderProvider,
                  PGPPublicKey pubKey)
                    throws PGPException

      Throws:
        `PGPException`

    - #### update

          public void update(byte b)

    - #### update

          public void update(byte[] bytes)

    - #### update

          public void update(byte[] bytes,
                    int off,
                    int length)

    - #### verify

          public boolean verify()
                         throws PGPException

      Throws:
        `PGPException`

    - #### verifyCertification

          public boolean verifyCertification(PGPUserAttributeSubpacketVector userAttributes,
                                    PGPPublicKey key)
                                      throws PGPException

      Verify the signature as certifying the passed in public key as associated with the passed in user attributes.
      Parameters:
        `userAttributes` - user attributes the key was stored under
        `key` - the key to be verified.
      Returns:
        true if the signature matches, false otherwise.
      Throws:
        `PGPException`

    - #### verifyCertification

          public boolean verifyCertification(java.lang.String id,
                                    PGPPublicKey key)
                                      throws PGPException

      Verify the signature as certifying the passed in public key as associated with the passed in id.
      Parameters:
        `id` - id the key was stored under
        `key` - the key to be verified.
      Returns:
        true if the signature matches, false otherwise.
      Throws:
        `PGPException`

    - #### verifyCertification

          public boolean verifyCertification(byte[] rawID,
                                    PGPPublicKey key)
                                      throws PGPException

      Verify the signature as certifying the passed in public key as associated with the passed in rawID.
      Parameters:
        `rawID` - id the key was stored under in its raw byte form.
        `key` - the key to be verified.
      Returns:
        true if the signature matches, false otherwise.
      Throws:
        `PGPException`

    - #### verifyCertification

          public boolean verifyCertification(PGPPublicKey masterKey,
                                    PGPPublicKey pubKey)
                                      throws PGPException

      Verify a certification for the passed in key against the passed in master key.
      Parameters:
        `masterKey` - the key we are verifying against.
        `pubKey` - the key we are verifying.
      Returns:
        true if the certification is valid, false otherwise.
      Throws:
        `PGPException`

    - #### verifyCertification

          public boolean verifyCertification(PGPPublicKey pubKey)
                                      throws PGPException

      Verify a key certification, such as a revocation, for the passed in key.
      Parameters:
        `pubKey` - the key we are checking.
      Returns:
        true if the certification is valid, false otherwise.
      Throws:
        `PGPException`

    - #### getSignatureType

          public int getSignatureType()

    - #### getKeyID

          public long getKeyID()

      Return the id of the key that created the signature.
      Returns:
        keyID of the signatures corresponding key.

    - #### getCreationTime

          public java.util.Date getCreationTime()

      Return the creation time of the signature.
      Returns:
        the signature creation time.

    - #### getSignatureTrailer

          public byte[] getSignatureTrailer()

    - #### hasSubpackets

          public boolean hasSubpackets()

      Return true if the signature has either hashed or unhashed subpackets.
      Returns:
        true if either hashed or unhashed subpackets are present, false otherwise.

    - #### getHashedSubPackets

          public PGPSignatureSubpacketVector getHashedSubPackets()

    - #### getUnhashedSubPackets

          public PGPSignatureSubpacketVector getUnhashedSubPackets()

    - #### getSignature

          public byte[] getSignature()
                              throws PGPException

      Throws:
        `PGPException`

    - #### getEncoded

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

      Throws:
        `java.io.IOException`

    - #### encode

          public void encode(java.io.OutputStream outStream)
                      throws java.io.IOException

      Throws:
        `java.io.IOException`