JCE cannot authenticate the provider BC ,has unsign 异常排查解决

2023-10-14 11:36

本文主要是介绍JCE cannot authenticate the provider BC ,has unsign 异常排查解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目场景:

线上项目登录入口发送变化,需要改造用户登录接口,改造接口就要涉及到加解密的操作。

加解密用hutool 工具包来实现的,完成功能后,本地调试验证没什么问题。但后面部署到测试环境的时候就出问题了。


问题描述

异常信息如下:

at org.apache.catalina,core.StandardHostValve.invoke(StandardHostValve,java:143)
at org.apache,catalina.valves.ErrorReportValve,invoke(ErrorReportValve.java:92)
at org.apache.catalina.core,StandardEngineValve,invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter,service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor,iava:374)
at org.apache,coyote,AbstractProcessorLight,process(AbstractProcessorLight,java:65)
at org.apache.coyote,AbstractProtocol$ConnectionHandler,process(AbstractProtocol,java:888
at org.apache.tomcat,util,net.NioEndpoint$SocketProcessor,doRun(NioEndpoint.java:1597
at org,apache.tomcat,util,net.SocketProcessorBase,run(SocketProcessorBase.java:49)
at java,util.concurrent,ThreadPoolExecutor,runlorker(ThreadPoolExecutor.java:1149
at java.util.concurrent.ThreadPoolExecutorsWorker,run(ThreadPoolExecutor,java:624
at org.apache.tomcat.util,threads ,TaskThread$wrappingRunnable, run(TaskThread,java:61)
at java.lang.Thread.run(Thread .java:748)
caused by: java.lang.SecurityException: JCE cannot authenticate the provider BC
at javax.crypto.Cipher.getInstance(Cipher,java:656)at cn.hutool.crypto.Secureutil.createCipher(SecureUtil.java:985)
caused by:java.util.jar.JarException:jar:file:/home/xx/xx/xxx-xx-1.0.0,jar!/B00T-INF/lib/xxxx-api-1.0.0.jar!/ has unsign xx/xx/message/api/config/xx.class
at iavax.crypto.JarVerifverifySingleJar(JarVerifier.java:502)
at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:363)
at javax.crypto.JarVerifier.verify(JarVerifier.java:289)
at javax.crypto.JceSecurityverifyProviderJar(JceSecurity.iava:164)

原因分析:

排查思路:

1、是不是maven没有把hutool包打到jar包里面。  然后使用 jad反编译jar,去lib文件找一下 有没有打进去。

        验证结果。 hutool已经打进去了。

2、百度一下异常问题,网上说是 jre环境中缺少 bcprov-jdk15on-1.57.jar 影响到的。

         但我去本地的jre环境里面找了,没有这个包,但也可以正常运行。有可能是本地环境这个包的依赖。

        测试环境验证,下载 bcprov-jdk15on-1.57.jar,我是通过maven的方式下载下来的。放到按照网上说的路径 \jdk1.8.0_131\jre\lib\ext。 重启项目服务,问题解决。

              


解决方案:

1、将bcprov-jdk15on-1.57.jar上传到服务器上,找到安装jdk的文件目录,然后按这个路径\jdk1.8.0_131\jre\lib\ext ,把jar包放进去即可。

2、网上有说,还需要添加配置信息(实操验证,不用加配置)

在jdk中,\jdk1.8.0_131\jre\lib\security目录下的,在文件“java.security” 添加如下: 
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider  

 security.provider.10是按 实际配置信息顺序 累加1 来定的


 

这篇关于JCE cannot authenticate the provider BC ,has unsign 异常排查解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/210232

相关文章

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Mysql如何解决死锁问题

《Mysql如何解决死锁问题》:本文主要介绍Mysql如何解决死锁问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录【一】mysql中锁分类和加锁情况【1】按锁的粒度分类全局锁表级锁行级锁【2】按锁的模式分类【二】加锁方式的影响因素【三】Mysql的死锁情况【1

SpringBoot内嵌Tomcat临时目录问题及解决

《SpringBoot内嵌Tomcat临时目录问题及解决》:本文主要介绍SpringBoot内嵌Tomcat临时目录问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录SprinjavascriptgBoot内嵌Tomcat临时目录问题1.背景2.方案3.代码中配置t