前言:
公司项目有用AES加密的,报错原因是BC(Bouncy Castle)提供的加密服务时,JCE(Java Cryptography Extension)无法进行验证。这通常是由于 JCE 的默认策略文件不支持所需的加密算法,导致 BC 无法被正确验证。
尝试方法:
1、更新策略文件
2、手动安装 Bouncy Castle 提供的 JCE 提供程序
3、使用 Maven 或 Gradle 等构建工具引入 Bouncy Castle 依赖
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.68</version> <!-- 替换为你需要的版本号 -->
</dependency>
4、检查 JDK 版本兼容性
以上方法我都试过,可能方式不对,有用的只有方法2,其他的不做陈述。
详细操作:
步骤一:检查jdk是否用的openjdk8,如果是更换成oracle的jdk8
步骤二:去maven官网,手动下载一个jar,自行选择适合你jdk版本的,我下的是下图的“https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk18on/1.77”
步骤三:仍到下图jdk路径下,/youJDK/jre/lib/ext,重启你的jar服务即可。