java.lang.IllegalAccessError: tried to access method sun.security.rsa.RSAPublicKeyImpl错误排查

现象

最新做一个java开发项目,用到了java的RSA证书做签名验证,开发环境一切正常,jenkins打包正常,部署到正式环境后执行到加载密钥文件时报如下错误

线上报错日志

2022-08-22 15:41:03.151 ERROR 98046 --- [http-nio-8080-exec-10] o.a.c.c.C.[.[.[.[dispatcherServlet]      : Servlet.service() for servlet [dispatcherServlet] in context with path [/finance] threw exception [Handler processing failed; nested exception is java.lang.IllegalAccessError: tried to access method sun.security.rsa.RSAPublicKeyImpl.<init>([B)V from class com.xxx.util.AsymmetricCryptography] with root cause

java.lang.IllegalAccessError: tried to access method sun.security.rsa.RSAPublicKeyImpl.<init>([B)V from class com.xxx.util.AsymmetricCryptography

直接说原因及解决方式

问题原因

JDK1.8.0 各小版本之间有差异,开发环境和线上环境RSA密钥加载部分正好受影响。

解决方式

统一JDK版本为: jdk1.8.0_161

oracle jdk下载地址

oracle JDK8 历史版本下载地址

注意英文版本页面的各小版本都可以下载,中文版本页面只有早期的一部分小版本可以下载。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值