Class PGPSignature

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

public class PGPSignature extends Object
A PGP signature object.
  • Field Details

  • Method Details

    • 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.
    • getDigestPrefix

      public byte[] getDigestPrefix()
      Return the digest prefix of the signature.
      Returns:
      digest prefix
    • isCertification

      public boolean isCertification()
      Return true if this signature represents a certification.
      Returns:
      true if this signature represents a certification, false otherwise.
    • 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(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 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 IOException
      Throws:
      IOException
    • getEncoded

      public byte[] getEncoded(boolean forTransfer) throws IOException
      Return an encoding of the signature, with trust packets stripped out if forTransfer is true.
      Parameters:
      forTransfer - if the purpose of encoding is to send key to other users.
      Returns:
      a encoded byte array representing the key.
      Throws:
      IOException - in case of encoding error.
    • encode

      public void encode(OutputStream outStream) throws IOException
      Throws:
      IOException
    • encode

      public void encode(OutputStream outStream, boolean forTransfer) throws IOException
      Encode the signature to outStream, with trust packets stripped out if forTransfer is true.
      Parameters:
      outStream - stream to write the key encoding to.
      forTransfer - if the purpose of encoding is to send key to other users.
      Throws:
      IOException - in case of encoding error.
    • isCertification

      public static boolean isCertification(int signatureType)
      Return true if the passed in signature type represents a certification, false if the signature type is not.
      Parameters:
      signatureType -
      Returns:
      true if signatureType is a certification, false otherwise.