美文网首页Java
JCA 实践记录——总纲

JCA 实践记录——总纲

作者: JSON_NULL | 来源:发表于2019-01-23 17:41 被阅读5次

JCA(Java Cryptography Architecture)虽然为开发者提供了统一的接口,但也隐藏了最终实现。以到于至今我都不知道它到底支持多少算法。今天就针对JDK8中的JCA 做一下实践并记录下来,以备后用。

先列出 JCA 中目前可用的引擎类,后面再分别进行详细的说明:

  1. SecureRandom:用于生成随机或伪随机数字。
  2. MessageDigest:用于计算指定数据的消息摘要(散列)
  3. Signature:使用密钥初始化,这些签名用于签署数据并验证数字签
  4. Cipher:用密钥初始化,用于加密/解密数据。存在各种类型的算法:对称批量加密(例如AES),非对称加密(例如RSA)和基于密码的加密(例如PBE)。
  5. Message Authentication Codes(MAC):与MessageDigests一样,它们也会生成散列值,但是首先使用密钥初始化以保护消息的完整性。
  6. KeyFactory:用于将Key类型的现有不透明密钥转换为密钥规范(底层密钥材料的透明表示),反之亦然。
  7. SecretKeyFactory:用于将SecretKey类型的现有不透明加密密钥转换为密钥规范(底层密钥材料的透明表示),反之亦然。 SecretKeyFactorys是专门的KeyFactorys,只能创建密钥(对称)。
  8. KeyPairGenerator:用于生成一对适用于指定算法的公钥和私钥。
  9. KeyGenerator:用于生成与指定算法一起使用的新密钥。
  10. KeyAgreement:由两方或多方使用,商定和建立一个特定的密钥,用于特定的密码操作。
  11. AlgorithmParameters:用于存储特定算法的参数,包括参数编码和解码。
  12. AlgorithmParameterGenerator:用于生成适合于指定算法的一组AlgorithmParameters。
  13. KeyStore:用于创建和管理密钥库。密钥库是密钥的数据库。密钥库中的私钥具有与其关联的证书链,用于验证相应的公钥。密钥库还包含来自可信实体的证书。
  14. CertificateFactory:用于创建公钥证书和证书吊销列表(CRL)。
  15. CertPathBuilder:用于构建证书链(也称为证书路径)。
  16. CertPathValidator:用于验证证书链。
  17. CertStore:用于从存储库中检索证书和CRL。

注意:生成器可以创建具有全新内容的对象,而工厂只能从现有材料(例如编码)中创建对象。

相关文章

网友评论

    本文标题:JCA 实践记录——总纲

    本文链接:https://www.haomeiwen.com/subject/kyvjjqtx.html