Class PGPSignature


  • public class PGPSignature
    extends java.lang.Object
    A PGP signature object.
    • 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.
      • isCertification

        public boolean isCertification()
        Return true if this signature represents a certification.
        Returns:
        true if this signature represents a certification, false otherwise.
      • update

        public void update​(byte b)
      • update

        public void update​(byte[] bytes)
      • update

        public void update​(byte[] bytes,
                           int off,
                           int length)
      • 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.
      • getEncoded

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

        public byte[] getEncoded​(boolean forTransfer)
                          throws java.io.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:
        java.io.IOException - in case of encoding error.
      • encode

        public void encode​(java.io.OutputStream outStream)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • encode

        public void encode​(java.io.OutputStream outStream,
                           boolean forTransfer)
                    throws java.io.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:
        java.io.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.