You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenJDK 1.8.0_312加载BCFIPS外部安全提供者报错问题咨询

问题根因

你遇到的报错是OpenJDK 8u312版本的安全变更直接导致的,核心涉及两项调整:

  • 该版本修复了CVE-2021-35550漏洞,收紧了JCE安全提供者的签名校验规则,同时清理了JRE内置信任的过期JCE代码签名根证书。
  • 你使用的bc-fips-1.0.1.jar采用的BouncyCastle官方JCE签名证书,刚好在本次清理的过期证书列表中,导致放在jre/lib/ext目录下的BCFIPS提供者无法通过JRE的签名校验,初始化失败。

另外8u312调整了安全提供者的初始化逻辑:如果配置顺序靠前的提供者加载失败,不再静默跳过继续加载后续提供者,而是会标记安全配置异常,导致后续你配置的com.sun.net.ssl.internal.ssl.Provider BCFIPS(SunJSSE绑定BCFIPS作为底层加密提供者)初始化时,找不到已经加载失败的BCFIPS提供者,最终抛出java.security.NoSuchProviderException: no such provider: BCFIPS错误。

修复方案

  • 优先升级BCFIPS依赖到1.0.2.3及以上版本,新版本的JAR包使用了新的有效JCE代码签名证书,可以正常通过8u312及更高版本的签名校验。
  • 若暂时无法升级BCFIPS版本,可以在JVM启动参数中添加-Djdk.security.allowNonCaAnchor=true临时允许非信任CA签发的JCE提供者签名,该配置会降低加密体系安全性,不建议在生产环境使用。
  • 你当前java.security配置中BCFIPS的加载顺序在SunJSSE之前,符合配置要求,无需调整。

内容的提问来源于stack exchange,提问作者shivaraj malannavar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:24:05