Skip to content

JEP 166: Overhaul JKS-JCEKS-PKCS12 Keystores | 改进 JKS-JCEKS-PKCS12 密钥库

摘要

通过在 PKCS#12 密钥库中添加等效支持,简化从 JKS 和 JCEKS 密钥库迁移数据的流程。增强 KeyStore API 以支持新功能,如条目元数据和跨多个密钥库的逻辑视图。允许使用 JEP-121 中引入的强加密算法来保护密钥库条目。

动机

简化加密应用程序与 Java SE 密钥库的交互任务,并简化其开发和部署。

当前的默认密钥库格式是特定于 Java 的,并不在 Java SE 之外得到支持。应用程序在转换到和从我们的格式中受到负担。促进轻松迁移到开放且广泛支持的格式将增强与 Java SE 的互操作性。

描述

Java SE 通过使用存储在密钥库中的加密信息来强制执行安全策略。当前支持多种密钥库实现。默认密钥库格式称为 Java 密钥库(JKS)。JKS 是一种特定于 Java 的格式,它强大且自问世以来一直为平台提供了良好的服务。然而,它存在一些局限性,应该进行更新。

PKCS#12 是更适合用作 Java SE 默认密钥库的格式。它是一个开放规范,受到操作系统、PKI 工具和 Web 浏览器的广泛支持。尽管它已经是 Java SE 中支持的密钥库格式,但仍需要进行多项增强,以便能够存储受信任的证书和密钥。

此外,长期以来一直存在跨多个物理密钥库支持逻辑密钥库的需求。逻辑密钥库消除了直接管理密钥库组的需求。

测试

确保 Mozilla OpenSSL Crypto Toolkit 和流行的 Web 浏览器能够与我们的 PKCS#12 格式进行交互。