使用Hutools的对称加密时出现的一个问题

有些话、适合烂在心里 提交于 2020-03-02 08:37:50

首先 这不是Hutools的一个bug

而是pdfbox-app这个组件的bug 

在2.0.0版本的pdfbox-app jar包中 集成了一个叫 bouncycastle的加密工具包(貌似是个jdk级别的jar)的源代码,pdfbox直接将其源码都写在自己jar里

所以我们这项目里其他的关于bouncycastle加密包的引用都取消了,这也就是问题导致的原因,pdfbox-app.jar包由于自身问题,以及bouncycastle本身的特性,就是会检测自身所在jar的签名是否有效,所以pdfbox-app.jar 的 2.0.0 版本的签名不知道为什么,无法通过检测,所以导致,加密不能使用抛出那个什么 jce 什么 cannot 啥的异常

简单点说就是,bouncycastle这个组件会对自身jar包进行签名检测,不符合就会抛异常,而pdfbox-app 2.0.0 集成了这个组件的所有源代码,而且在签名上没处理好,导致我们无法使用这个组件来加密,hutools加密代码底层有用到bouncycastle所以就无法运行加密了。

解决方式很简单 将pdfbox-app的版本由 2.0.0 改为2.0.13或者其他版本,问题解决。

顺便提一句,Hutools这个工具包真的很好用,为贡献者们点个赞,感谢你们的贡献。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!