Class PrivateKeySignature

java.lang.Object
com.itextpdf.signatures.PrivateKeySignature
All Implemented Interfaces:
IExternalSignature

public class PrivateKeySignature extends Object implements IExternalSignature
Implementation of the IExternalSignature interface that can be used when you have a PrivateKey object.
  • Constructor Details

    • PrivateKeySignature

      public PrivateKeySignature (PrivateKey pk, String hashAlgorithm, String provider)
      Creates a PrivateKeySignature instance.
      Parameters:
      pk - A PrivateKey object.
      hashAlgorithm - A hash algorithm (e.g. "SHA-1", "SHA-256",...).
      provider - A security provider (e.g. "BC").
    • PrivateKeySignature

      public PrivateKeySignature (PrivateKey pk, String hashAlgorithm, String signatureAlgorithm, String provider, IApplicableSignatureParams params)
      Creates a PrivateKeySignature instance.
      Parameters:
      pk - A PrivateKey object.
      hashAlgorithm - A hash algorithm (e.g. "SHA-1", "SHA-256",...).
      signatureAlgorithm - A signiture algorithm (e.g. "RSASSA-PSS", "id-signedData", "sha256WithRSAEncryption", ...)
      provider - A security provider (e.g. "BC").
      params - Parameters for using RSASSA-PSS or other algorithms requiring them.
  • Method Details

    • getDigestAlgorithmName

      public String getDigestAlgorithmName()
      Returns the digest algorithm.
      Specified by:
      getDigestAlgorithmName in interface IExternalSignature
      Returns:
      The digest algorithm (e.g. "SHA-1", "SHA-256,...").
    • getSignatureAlgorithmName

      public String getSignatureAlgorithmName()
      Returns the signature algorithm used for signing, disregarding the digest function.
      Specified by:
      getSignatureAlgorithmName in interface IExternalSignature
      Returns:
      The signature algorithm ("RSA", "DSA", "ECDSA", "Ed25519" or "Ed448").
    • getSignatureMechanismParameters

      public ISignatureMechanismParams getSignatureMechanismParameters()
      Return the algorithm parameters that need to be encoded together with the signature mechanism identifier. If there are no parameters, return `null`. A non-null value is required for RSASSA-PSS; see RSASSAPSSMechanismParams.
      Specified by:
      getSignatureMechanismParameters in interface IExternalSignature
      Returns:
      algorithm parameters
    • sign

      public byte[] sign (byte[] message) throws GeneralSecurityException
      Signs the given message using the encryption algorithm in combination with the hash algorithm.
      Specified by:
      sign in interface IExternalSignature
      Parameters:
      message - The message you want to be hashed and signed.
      Returns:
      A signed message digest.
      Throws:
      GeneralSecurityException - when requested cryptographic algorithm or security provider is not available