Class PGPSignatureGenerator

java.lang.Object
org.bouncycastle.openpgp.PGPSignatureGenerator

public class PGPSignatureGenerator extends Object
Generator for PGP Signatures.
  • Field Details

    • lastb

      protected byte lastb
    • sigOut

      protected OutputStream sigOut
    • sigType

      protected int sigType
    • version

      protected final int version
  • Constructor Details

    • PGPSignatureGenerator

      public PGPSignatureGenerator(PGPContentSignerBuilder contentSignerBuilder)
      Create a version 4 signature generator built on the passed in contentSignerBuilder.
      Parameters:
      contentSignerBuilder - builder to produce PGPContentSigner objects for generating signatures.
    • PGPSignatureGenerator

      public PGPSignatureGenerator(PGPContentSignerBuilder contentSignerBuilder, PGPPublicKey signingKey)
      Create a signature generator built on the passed in contentSignerBuilder. The produces signature version will match the version of the passed in signing key.
      Parameters:
      contentSignerBuilder - builder to produce PGPContentSigner objects for generating signatures
      signingKey - signing key
    • PGPSignatureGenerator

      public PGPSignatureGenerator(PGPContentSignerBuilder contentSignerBuilder, PGPPublicKey signingKey, int signatureVersion)
  • Method Details

    • init

      public void init(int signatureType, PGPPrivateKey key) throws PGPException
      Initialise the generator for signing.
      Parameters:
      signatureType - type of signature
      key - private signing key
      Throws:
      PGPException
    • setHashedSubpackets

      public void setHashedSubpackets(PGPSignatureSubpacketVector hashedPcks)
      Set the hashed signature subpackets. Hashed signature subpackets are covered by the signature.
      Parameters:
      hashedPcks - hashed signature subpackets
    • setUnhashedSubpackets

      public void setUnhashedSubpackets(PGPSignatureSubpacketVector unhashedPcks)
      Set the unhashed signature subpackets. Unhashed signature subpackets are not covered by the signature.
      Parameters:
      unhashedPcks - unhashed signature subpackets
    • generateOnePassVersion

      public PGPOnePassSignature generateOnePassVersion(boolean isNested) throws PGPException
      Return the one pass header associated with the current signature.
      Parameters:
      isNested - true if the signature is nested, false otherwise.
      Returns:
      PGPOnePassSignature
      Throws:
      PGPException
    • generate

      public PGPSignature generate() throws PGPException
      Return a signature object containing the current signature state.
      Returns:
      PGPSignature
      Throws:
      PGPException
    • prepareSignatureSubpackets

      protected void prepareSignatureSubpackets() throws PGPException
      Throws:
      PGPException
    • generateCertification

      public PGPSignature generateCertification(String id, PGPPublicKey pubKey) throws PGPException
      Generate a certification for the passed in id and key.
      Parameters:
      id - the id we are certifying against the public key.
      pubKey - the key we are certifying against the id.
      Returns:
      the certification.
      Throws:
      PGPException
    • generateCertification

      public PGPSignature generateCertification(PGPUserAttributeSubpacketVector userAttributes, PGPPublicKey pubKey) throws PGPException
      Generate a certification for the passed in userAttributes
      Parameters:
      userAttributes - the id we are certifying against the public key.
      pubKey - the key we are certifying against the id.
      Returns:
      the certification.
      Throws:
      PGPException
    • generateCertification

      public PGPSignature generateCertification(PGPPublicKey masterKey, PGPPublicKey pubKey) throws PGPException
      Generate a certification for the passed in key against the passed in master key.
      Parameters:
      masterKey - the key we are certifying against.
      pubKey - the key we are certifying.
      Returns:
      the certification.
      Throws:
      PGPException
    • generateCertification

      public PGPSignature generateCertification(PGPPublicKey pubKey) throws PGPException
      Generate a certification, such as a revocation, for the passed in key.
      Parameters:
      pubKey - the key we are certifying.
      Returns:
      the certification.
      Throws:
      PGPException
    • update

      public void update(byte b)
    • update

      public void update(byte[] b)
    • update

      public void update(byte[] b, int off, int len)
    • blockUpdate

      protected void blockUpdate(byte[] block, int off, int len)
    • updateWithIdData

      protected void updateWithIdData(int header, byte[] idBytes)
    • updateWithPublicKey

      protected void updateWithPublicKey(PGPPublicKey key) throws PGPException
      Throws:
      PGPException
    • getAttributesHash

      protected void getAttributesHash(PGPUserAttributeSubpacketVector userAttributes) throws PGPException
      Throws:
      PGPException