Bouncy Castle Cryptography Library 1.71

org.bouncycastle.openpgp
Class PGPSignature

java.lang.Object
  extended byorg.bouncycastle.openpgp.PGPSignature

public class PGPSignature
extends java.lang.Object

A PGP signature object.


Field Summary
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
 void encode(java.io.OutputStream outStream)
           
 void encode(java.io.OutputStream outStream, boolean forTransfer)
          Encode the signature to outStream, with trust packets stripped out if forTransfer is true.
 java.util.Date getCreationTime()
          Return the creation time of the signature.
 byte[] getDigestPrefix()
          Return the digest prefix of the signature.
 byte[] getEncoded()
           
 byte[] getEncoded(boolean forTransfer)
          Return an encoding of the signature, with trust packets stripped out if forTransfer is true.
 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)
           
 boolean isCertification()
          Return true if this signature represents a certification.
static boolean isCertification(int signatureType)
          Return true if the passed in signature type represents a certification, false if the signature type is not.
static boolean isSignatureEncodingEqual(PGPSignature sig1, PGPSignature sig2)
           
static PGPSignature join(PGPSignature sig1, PGPSignature sig2)
           
 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.

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(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

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.

isSignatureEncodingEqual

public static boolean isSignatureEncodingEqual(PGPSignature sig1,
                                               PGPSignature sig2)

join

public static PGPSignature join(PGPSignature sig1,
                                PGPSignature sig2)
                         throws PGPException
Throws:
PGPException

Bouncy Castle Cryptography Library 1.71