内容提要
Oracle的OpenJDK质量组推广用OpenJDK构建测试开源项目,以提升版本质量。新增jlink插件,允许用户指定自定义运行时镜像中cacerts密钥库包含的特定CA证书,仅保留应用所需证书。命令行语法用逗号分隔多个别名,如`jlink --cacerts "letsencryptisrgx1 [jdk]"`。详情见JDK-8377102。
延伸解读
定制运行时镜像的证书管理
新插件允许在构建自定义运行时镜像时,通过jlink命令指定需要包含的CA证书别名,从而只保留应用所需的证书。这有助于减小镜像体积并降低安全风险,因为不必要的根证书不会被包含。用户需注意,别名格式需与cacerts密钥库中的一致,且多个别名用逗号分隔。
对应用部署的影响
此功能对需要精简运行时或对证书有特定要求的应用部署尤为有用。通过仅包含必要的CA证书,可以减少潜在的攻击面,并避免因信任过多证书而引发的合规问题。但需确保所选证书覆盖所有必要的TLS连接,否则可能导致连接失败。
参与OpenJDK质量外联
该功能由OpenJDK质量组推广,鼓励开源项目使用OpenJDK构建进行测试,以提升版本质量。开发者可关注JDK-8377102了解更多细节,并考虑参与质量外联计划,帮助发现和修复问题,从而影响JDK的最终质量。
Q&A
JDK 28中新增的jlink cacerts插件有什么作用?
该插件允许用户指定自定义运行时镜像中cacerts密钥库要包含的特定CA证书,从而只保留应用所需的证书,创建更精简的运行时。
如何使用jlink cacerts插件指定多个CA证书?
使用命令行选项--cacerts,多个别名用逗号分隔,例如:jlink --cacerts "letsencryptisrgx1 [jdk],digicertglobalrootca [jdk]"。
jlink cacerts插件对创建自定义运行时有什么好处?
它可以帮助创建只包含应用所需CA证书的运行时,避免包含不必要的证书,从而减小运行时体积并可能提高安全性。
OpenJDK质量组推广的测试项目是什么?
OpenJDK质量组推广使用OpenJDK构建测试开源项目,以提升版本的整体质量。
jlink cacerts插件的详细信息在哪里可以找到?
可以查看JDK-8377102获取更多信息。
jlink --cacerts选项的参数格式是什么?
参数是一个或多个cacerts密钥库别名,多个别名用逗号分隔,例如"letsencryptisrgx1 [jdk]"或"letsencryptisrgx1 [jdk],digicertglobalrootca [jdk]"。