首先 这不是Hutools的一个bugapp
而是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因此就没法运行加密了。ast
解决方式很简单 将pdfbox-app的版本由 2.0.0 改成2.0.13或者其余版本,问题解决。pdf
顺便提一句,Hutools这个工具包真的很好用,为贡献者们点个赞,感谢大家的贡献。jdk