首页
/ OpenJ9项目中FIPS 140-3模式下JKS密钥库不可用问题解析

OpenJ9项目中FIPS 140-3模式下JKS密钥库不可用问题解析

2025-06-24 10:19:50作者:仰钰奇

在OpenJ9项目的最新测试中发现了一个与FIPS 140-3安全标准相关的兼容性问题。当在FIPS 140-3模式下运行Java安全测试套件时,测试用例SSLEngineExplorerWithSrv会抛出"NoSuchAlgorithmException: JKS KeyStore not available"异常。

这个问题源于FIPS 140-3认证环境的特殊安全限制。FIPS 140-3是美国国家标准与技术研究院(NIST)制定的密码模块安全标准,它要求系统只能使用经过认证的加密算法和实现。在这种严格的安全环境下,传统的JKS(Java Key Store)密钥库格式不被允许使用,因为JKS没有通过FIPS认证。

技术团队经过分析后确认,SSLEngineExplorerWithSrv测试用例在设计时使用了JKS格式的密钥库,这在常规Java环境中是标准做法。但在FIPS 140-3模式下,系统必须使用符合FIPS标准的密钥库实现,如PKCS12格式的密钥库。

解决方案是在FIPS 140-3测试配置中将这个测试用例添加到排除列表中。这个变更已经通过多个JDK版本的代码审查和合并流程:

  • JDK Next版本已合并相关修改
  • JDK 24版本已更新
  • JDK 21版本已完成调整
  • JDK 17版本已同步修改
  • JDK 11版本也已相应更新

这一变更确保了在FIPS 140-3认证环境下,测试套件能够正常运行,同时保持系统的安全合规性。对于需要使用FIPS模式的开发者来说,应当注意避免使用JKS密钥库,转而使用FIPS认证的替代方案。

这个问题的解决展示了OpenJ9项目对安全标准的严格遵循,以及在多版本维护中的高效协调能力。开发团队快速响应并实施了跨版本的解决方案,确保了不同Java版本在FIPS环境下的稳定性和安全性。

登录后查看全文
热门项目推荐
相关项目推荐