为什么Spring-boot更新到3.1.0后不再加载PKCS11-NSS证书?

为什么Spring-boot更新到3.1.0后不再加载PKCS11-NSS证书?

从 spring-boot 版本 3.0.8 更新到 3.1.0 或 3.1.1 后,应用程序不再从商店加载 SSL 证书。

配置:符合 FIPS 标准的配置,具体如下: https://access.redhat.com/documentation/en-us/openjdk/17/html/configuring_openjdk_17_on_rhel_with_fips/openjdk-default-fips-configuration#key_store

应用程序是独立的 tomcat 嵌入式服务。

配置文件内容:

/路径/到/application.properties

......为简洁起见

安全.需要 SSL = true

服务器.ssl.密钥存储类型=PKCS11

服务器.ssl.key-store-密码=passwd

server.ssl.key-alias=服务器证书

服务器.ssl.协议=TLS

服务器.ssl.启用协议=TLSv1.2

......为简洁起见

/etc/alternatives/jre_17/conf/security/java.security

......为简洁起见

security.provider.12=SunPKCS11 /etc/alternatives/jre_17/conf/security/nss.cfg

......为简洁起见

/etc/alternatives/jre_17/conf/security/nss.cfg

名称 = NSSfips

nssLibraryDirectory = /usr/lib64

nssSecmodDirectory = /etc/pki/certs/nss

nssModule = fips

nssDbMode = readOnly

nssUseSecmod = true

此配置已运行近 4 年,没有出现问题。我知道有一个更新支持 SSL 捆绑包,但它也表示当前的 server.ssl 支持将继续运行。

我现在需要在配置中更改一些内容才能使其加载证书吗?

纠正步骤:我尝试通过启用调试模式和使用进程跟踪实用程序来隔离证书的加载。但是它似乎完全跳过了配置并在没有证书的情况下启动应用程序。日志中没有错误。

我本来打算在 Github/spring-boot 存储库中发布一个问题,它说先在这里尝试。

相关内容