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

    public class SignaturePacket
    extends ContainedPacket
    implements PublicKeyAlgorithmTags

generic signature packet

### Field Summary

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

`DIFFIE_HELLMAN, DSA, EC, 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
`void` `encode(BCPGOutputStream out)`
`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`