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
`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
`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` `initVerify(PGPPublicKey pubKey, java.security.Provider provider)`
`void` `initVerify(PGPPublicKey pubKey, java.lang.String provider)`
`void` `update(byte b)`
`void` `update(byte[] bytes)`
`void` `update(byte[] bytes, int off, int length)`
`boolean` `verify()`
`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.

#### initVerify

    public void initVerify(PGPPublicKey pubKey,
                  java.lang.String provider)
                    throws java.security.NoSuchProviderException,
                           PGPException

Throws:
  `java.security.NoSuchProviderException`
  `PGPException`

#### initVerify

    public void initVerify(PGPPublicKey pubKey,
                  java.security.Provider provider)
                    throws PGPException

Throws:
  `PGPException`

#### update

    public void update(byte b)
                throws java.security.SignatureException

Throws:
  `java.security.SignatureException`

#### update

    public void update(byte[] bytes)
                throws java.security.SignatureException

Throws:
  `java.security.SignatureException`

#### update

    public void update(byte[] bytes,
              int off,
              int length)
                throws java.security.SignatureException

Throws:
  `java.security.SignatureException`

#### verify

    public boolean verify()
                   throws PGPException,
                          java.security.SignatureException

Throws:
  `PGPException`
  `java.security.SignatureException`

#### verifyCertification

    public boolean verifyCertification(PGPUserAttributeSubpacketVector userAttributes,
                              PGPPublicKey key)
                                throws PGPException,
                                       java.security.SignatureException

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`
  `java.security.SignatureException`

#### verifyCertification

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

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`
  `java.security.SignatureException`

#### verifyCertification

    public boolean verifyCertification(PGPPublicKey masterKey,
                              PGPPublicKey pubKey)
                                throws java.security.SignatureException,
                                       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:
  `java.security.SignatureException`
  `PGPException`

#### verifyCertification

    public boolean verifyCertification(PGPPublicKey pubKey)
                                throws java.security.SignatureException,
                                       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:
  `java.security.SignatureException`
  `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`