文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java 签名org.bouncycastle 包冲突解决

2023-09-11 10:21

关注

事由起因:对接银行 用银行的签名加密出了问题,问了银行的人无解,开始漫长自救道路


1.包名冲突  
 

就是因为有2个类的路径一样,导致报这个错,org.bouncycastle.asn1.ASN1Encodable Signer information does not match signer information of other classess in the same package


全局搜这个类发现在 prov-ext-jdk15on 和 bcprov-jdk15on 都有这个类,根据双亲委派机制,这个重名了不知道用谁就报错了

解决:用maven shane-plugin 插件,给这两个有重复路径类宝进行合并打包,实验下来是会包下面的包的路径加 shaded.*** 以和另一个类进行区分,把这个包上传私服,用私服依赖

同时在项目中剔除原来这2个包的路径。同时以前用过org.bouncycastle*包下的类都要去改下路径
具体配置参考下面这个博客
https://segmentfault.com/a/1190000038382111

2.org/bouncycastle/asn1/ASN1ObjectIdentifier   java.lang.NoClassDefFoundError 

后面加密还是有问题

此方法里面报错

这个sign 方法
 


还是报错,而且运行很久(这回算是得出经验了,只要跑很久绝对包的问题,有很多的包里面的类路径重名了,特别是prov org.bouncycastle** 下的prov-jdk15,prov-ext-jdk15on 真特么恶心)。这次是这行代码出了问题,进入源码发现是这个类进入到另外一个渠道里面的引用的包去了,立马和对接方的demo 进行比对,发现不对demo里面是进入到bcmail-prov-jdk14里,随后立马引入此包,全局搜了发现其他渠道有把这个包当作三方包上(版本1.46)传到私服,为兼容以前的版本去掉私服依赖 用官方的依赖,版本靠齐之前的。就此 接着debug 还是有问题,出现了

 org/bouncycastle/asn1/ASN1ObjectIdentifier   java.lang.NoClassDefFoundError 


网上搜了一个遍, 各种查 有点苗头知道是版本号的问题,由于bcprv-jdk14 对接方告知是1.45 限制了1.45,但是根据上面的情况 bcmail 用的是1.46,于是出现了上面的noClassDefFoundError,有了预感是版本号的问题,就靠齐版本号,问题解决,都用1.45,活着都用1.46。为了以前的代码没有问题,我就是用1.46!


总结:

跟银行的人请教这个问题,得到是各种离谱的回答我也是服,版本太老不维护了,不知道能不能用高的版本,我去你妈的。不问还好 问了各种瞎鸡儿误导,
根据报错解决问题,看清楚你自己的代码问题,去想,网上有类似的 用了发现没有效果,用之前还是得考虑下是不是这个问题,别看到几个字符串匹配就去套用。

这个错网上但是不多,跟我的也不太一样,写下来为以后对接银行的开发伙伴提供助力,这种东西真的是浪费时间和精力,个人觉得对自己的提升帮助不大,想着为大家节省宝贵的时间精力,写下来给大家一个参考吧,这种东西网上有就对照着解决就行。多点时间摸鱼不香吗!

Respect!Peace!

来源地址:https://blog.csdn.net/yezhou1235689/article/details/130605999

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯