JDK 1.8.0_231中缺少Santuario类吗?

时间:2019-12-12 09:59:38

标签: java-8 jax-ws spring-ws wss4j

我们有一个使用xws-security library的旧应用程序,但是最近对JDK 1.8.0_231(release notes)的更新破坏了我们的应用程序,并且到处都有很多缺少的类...

java.lang.NoClassDefFoundError: com/sun/org/apache/xml/internal/security/encryption/XMLEncryptionException

JDK发行说明指出内部Apache Santuario已从1.5.6更新到2.1.3,但是下载Santuario source code时我仍然看到“加密”包,这与JDK不同,后者缺少内部化的“加密”包。

我开始使用最新的spring-ws-security进行xws-security替换,但是后来发现它的XwsSecurityInterceptor内部依赖于与最新JDK8一样有问题的xws-security库。

JDK 1.8.0_231仍然很新鲜(我知道同时已经过时了),但是我希望其他人注意到JDK中缺少类。

如我所见,有多个选项:

  1. 用Santuario 2.1.x重新编译xws-security 3.0,用Santuario的org.apache。*软件包替换所有内部化的com.sun.org.apache。*导入-可能会成功,但会遇到障碍
  2. 重新编译Santuario,将加密程序包复制到内部化程序包中
  3. 将所有内容丢到窗外,并使用WSS4J独立版本或CXF或集成了WSS4J的Spring-WS从零开始实现Web服务安全性-似乎需要大量工作
  4. 使用独立的WSS4J-似乎需要更多工作

第1点和第2点看起来似乎不是生产级的安全解决方案:(

还有我没想到的其他选择吗?

0 个答案:

没有答案