Class DigestAlgorithms

java.lang.Object
com.itextpdf.signatures.DigestAlgorithms

public class DigestAlgorithms extends Object
Class that contains a map with the different message digest algorithms.
  • Field Details

  • Constructor Details

    • DigestAlgorithms

      public DigestAlgorithms()
  • Method Details

    • getMessageDigestFromOid

      public static MessageDigest getMessageDigestFromOid (String digestOid, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
      Get a digest algorithm.
      Parameters:
      digestOid - oid of the digest algorithm
      provider - the provider you want to use to create the hash
      Returns:
      MessageDigest object
      Throws:
      NoSuchAlgorithmException - thrown when a particular cryptographic algorithm is requested but is not available in the environment
      NoSuchProviderException - thrown when a particular security provider is requested but is not available in the environment
    • getMessageDigest

      public static MessageDigest getMessageDigest (String hashAlgorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
      Creates a MessageDigest object that can be used to create a hash.
      Parameters:
      hashAlgorithm - the algorithm you want to use to create a hash
      provider - the provider you want to use to create the hash
      Returns:
      a MessageDigest object
      Throws:
      NoSuchAlgorithmException - thrown when a particular cryptographic algorithm is requested but is not available in the environment
      NoSuchProviderException - thrown when a particular security provider is requested but is not available in the environment
    • digest

      public static byte[] digest (InputStream data, String hashAlgorithm, String provider) throws GeneralSecurityException, IOException
      Creates a hash using a specific digest algorithm and a provider.
      Parameters:
      data - the message of which you want to create a hash
      hashAlgorithm - the algorithm used to create the hash
      provider - the provider used to create the hash
      Returns:
      the hash
      Throws:
      GeneralSecurityException - when requested cryptographic algorithm or security provider is not available
      IOException - signals that an I/O exception has occurred
    • digest

      public static byte[] digest (InputStream data, MessageDigest messageDigest) throws IOException
      Create a digest based on the inputstream.
      Parameters:
      data - data to be digested
      messageDigest - algorithm to be used
      Returns:
      digest of the data
      Throws:
      IOException - signals that an I/O exception has occurred
    • getDigest

      public static String getDigest (String oid)
      Gets the digest name for a certain id
      Parameters:
      oid - an id (for instance "1.2.840.113549.2.5")
      Returns:
      a digest name (for instance "MD5")
    • normalizeDigestName

      public static String normalizeDigestName (String algo)
      Normalize the digest name.
      Parameters:
      algo - the name to be normalized
      Returns:
      normalized name
    • getAllowedDigest

      public static String getAllowedDigest (String name)
      Returns the id of a digest algorithms that is allowed in PDF, or null if it isn't allowed.
      Parameters:
      name - The name of the digest algorithm.
      Returns:
      An oid.