Java Cryptography Architecture (JCA) Tools

Overview

Contains Functions that expose functionality provided by the Java Cryptography Architecture (JCA):

  • cryptoprovideravailable(): Returns true if the given cryptographic service provider is available for use in the system, otherwise returns false
  • listprovidersandalgorithms(): Returns a list of all available cryptographic service providers and algorithm details
  • randombytes(): Returns a random set of bytes as a hex-encoded string
  • passwordkey(): Generates a key value (as a hex-encoded byte string) from the provided password
  • passwordencrypt(): Encrypts the provided cleartext string using Password-Based Encryption (PBE) as defined in the PKCS #5 standard. Returns an encrypted ciphertext value (as a hex-encoded byte string) which can be decoded using passworddecrypt()
  • passworddecrypt(): Decrypts the provided hex-encoded ciphertext byte string using Password-Based Encryption (PBE) as defined in the PKCS #5 standard. Returns the originally encrypted cleartext value
  • keyencrypt(): Encrypts the provided cleartext string using the specified key and cipher transformation. Returns an encrypted ciphertext value (as a hex-encoded byte string) which can be decoded using keydecrypt()
  • keydecrypt(): Decrypts the provided hex-encoded ciphertext byte string using the specified key and cipher transformation. Returns the originally encrypted cleartext value
  • macsignature(): Computes a Mac signature

Note: The JCA framework uses different "providers" to implement specific cryptographic algorithms.  Provider implementations need to be installed prior to use.

See https://docs.oracle.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html for more details.

Anonymous
Parents Comment
  • The keyencrypt() function takes a standard JCA transformation name, such as "AES/CBC/PKCS5Padding" or just "AES" to control how the encryption is done. The linked reference for the CryptoSpec includes more detail on how the transformation impacts the outcome. You can also use the listprovidersandalgorithms() function to get a list of all supported cipher transformations in your Java environment.

Children
No Data