Java Cryptography Architecture(JCA)

  • JCA
    • java.security.*
  • JCE
    • javax.crypto.*

  • MessageDigest: used to implement one-way hash functions such as MD5 or SHA
  • Signature: used to implement digital signatures
  • KeyPairGenerator: used to create public/private key pairs for different algorithms
  • KeyFactory: used to convert keys into key specifications and then vice-versa
  • CertificateFactory: used to generate certificates
  • KeyStore: used to create a keystore which maintains keys and certificates in memory for later usage
  • AlgorithmParameters: used to maintain the security parameters for specific algorithms
  • AlgorithmParameterGenerator: used to create a set of parameters to be used for specific algorithms
  • SecureRandom: used to create random or pseudo-random numbers