本文主要是介绍JCE cannot authenticate the provider BC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言:
公司项目有用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服务即可。
这篇关于JCE cannot authenticate the provider BC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!