Class SignatureParameters

java.lang.Object
org.bouncycastle.openpgp.api.SignatureParameters

public class SignatureParameters extends Object
Parameters for signature generation. Some signature builders allow the user to pass in a SignatureParameters.Callback, which can be used to modify SignatureParameters instances prior to signature generation.
  • Method Details

    • directKeySignature

      public static SignatureParameters directKeySignature(OpenPGPPolicy policy)
      Create default signature parameters object for a direct-key signature. When issued as a self-signature, direct-key signatures can be used to store algorithm preferences on the key, which apply to the entire certificate (including all subkeys). When issued as a third-party signature, direct-key signatures act as delegations, with which for example the web-of-trust can be built.
      Parameters:
      policy - algorithm policy
      Returns:
      parameters
      See Also:
    • keyRevocation

      public static SignatureParameters keyRevocation(OpenPGPPolicy policy)
      Create default signature parameters for a key revocation signature. When issued as a self-signature, key revocation signatures can be used to revoke an entire certificate. To revoke only individual subkeys, see subkeyRevocation(OpenPGPPolicy) instead. When issued as a third-party signature, key revocation signatures are used to revoke earlier delegation signatures.
      Parameters:
      policy - algorithm policy
      Returns:
      parameters
    • certification

      public static SignatureParameters certification(OpenPGPPolicy policy)
      Create a default signature parameters object for a certification signature. The default signature type is PGPSignature.POSITIVE_CERTIFICATION, but can be changed to PGPSignature.DEFAULT_CERTIFICATION, PGPSignature.NO_CERTIFICATION, PGPSignature.CASUAL_CERTIFICATION. When issued as a self-signature, certifications can be used to bind user-ids to the certificate. When issued as third-party signatures, certificates act as a statement, expressing that the issuer is convinced that the user-id "belongs to" the certificate.
      Parameters:
      policy - algorithm policy
      Returns:
      parameters
    • subkeyBinding

      public static SignatureParameters subkeyBinding(OpenPGPPolicy policy)
      Create a default signature parameters object for a subkey binding signature.
      Parameters:
      policy - algorithm policy
      Returns:
      parameters
    • subkeyRevocation

      public static SignatureParameters subkeyRevocation(OpenPGPPolicy policy)
      Create default signature parameters for a subkey revocation signature.
      Parameters:
      policy - algorithm policy
      Returns:
      parameters
    • primaryKeyBinding

      public static SignatureParameters primaryKeyBinding(OpenPGPPolicy policy)
      Create a default signature parameters object for a primary-key binding (back-sig) signature.
      Parameters:
      policy - algorithm policy
      Returns:
      parameters
    • certificationRevocation

      public static SignatureParameters certificationRevocation(OpenPGPPolicy policy)
      Create a default signature parameters object for a certification-revocation signature.
      Parameters:
      policy - algorithm policy
      Returns:
      parameters
    • dataSignature

      public static SignatureParameters dataSignature(OpenPGPPolicy policy)
      Create a default signature parameters object for a data/document signature. The default signature type is PGPSignature.BINARY_DOCUMENT, but can be changed to PGPSignature.CANONICAL_TEXT_DOCUMENT.
      Parameters:
      policy - algorithm policy
      Returns:
      parameters
    • setSignatureType

      public SignatureParameters setSignatureType(int signatureType)
      Change the signature type of the signature to-be-generated to the given type. Depending on which factory method was used to instantiate the signature parameters object, only certain signature types are allowed. Passing an illegal signature type causes an IllegalArgumentException to be thrown.
      Parameters:
      signatureType - signature type
      Returns:
      parameters
      Throws:
      IllegalArgumentException - if an illegal signature type is passed
    • getSignatureType

      public int getSignatureType()
      Return the signature type for the signature to-be-generated.
      Returns:
      signature type
    • setSignatureCreationTime

      public SignatureParameters setSignatureCreationTime(Date signatureCreationTime)
      Change the creation time of the signature to-be-generated.
      Parameters:
      signatureCreationTime - signature creation time
      Returns:
      parameters
    • getSignatureCreationTime

      public Date getSignatureCreationTime()
      Return the creation time of the signature to-be-generated.
      Returns:
      signature creation time
    • setSignatureHashAlgorithm

      public SignatureParameters setSignatureHashAlgorithm(int signatureHashAlgorithmId)
      Change the hash algorithm for the signature to-be-generated.
      Parameters:
      signatureHashAlgorithmId - signature hash algorithm id
      Returns:
      parameters
    • getSignatureHashAlgorithmId

      public int getSignatureHashAlgorithmId()
      Return the hash algorithm id of the signature to-be-generated.
      Returns:
      hash algorithm id
    • setHashedSubpacketsFunction

      public SignatureParameters setHashedSubpacketsFunction(SignatureSubpacketsFunction subpacketsFunction)
      Set a function, which is applied to the hashed subpackets area of the signature to-be-generated.
      Parameters:
      subpacketsFunction - function to apply to the hashed signature subpackets
      Returns:
      parameters
    • setUnhashedSubpacketsFunction

      public SignatureParameters setUnhashedSubpacketsFunction(SignatureSubpacketsFunction subpacketsFunction)
      Set a function, which is applied to the unhashed subpackets area of the signature to-be-generated.
      Parameters:
      subpacketsFunction - function to apply to the unhashed signature subpackets
      Returns:
      parameters