1. Java 加密体系,JCA、JCE、JSSE 的分工
请说明 Java 加密体系中的 JCA、JCE、JSSE 各自的作用与关系?
- JCA(框架与 Provider)
- JCE(加密实现)
- JSSE(SSL/TLS)
Java 加密体系由三部分组成。JCA(Java Cryptography Architecture)——加密框架与抽象层,定义 MessageDigest、Signature、Cipher、KeyGenerator 等 API 与 Provider 机制,本身不实现算法(由 Provider 提供),提供算法选择、密钥管理(KeyStore)、证书接口。JCE(Java Cryptography Extension)——加密算法实现层,提供对称/非对称加密、密钥生成、MAC、密钥协议等实现(如 AES、RSA、HMAC),通过 Cipher、SecretKeyFactory 等 API 使用;JDK 自带 SunJCE Provider。JSSE(Java Secure Socket Extension)——SSL/TLS 实现,提供 SSLContext、SSLSocket/SSLEngine、TrustManager/KeyManager、HttpsURLConnection,用于配置 HTTPS/TLS 连接与证书验证。关系:JCA 是框架,JCE 是加密实现,JSSE 是传输安全实现,三者都基于 Provider 机制、都由标准 API 驱动。工程上:数据加密用 JCA/JCE(Cipher),密码哈希用 JCA(MessageDigest),TLS/HTTPS 用 JSSE(SSLContext)。第三方 Provider(如 BouncyCastle)可扩展 JCA/JCE 的算法。
本题考察 Java 加密体系。核心是"JCA 框架、JCE 加密实现、JSSE 传输安全"。回答应点出三者关系与用途。