我们正在考虑采用一个库来生成和使用 JSON Web Tokens。Jose4j 似乎是一个不错的选择,但库“依赖项”声明“......Jose4j 是使用/用于 Java 7 编译的,并且也将在 Java 8 上运行......”并且我们当前的安装在 Java 6 版本上运行(迁移到更高版本是超出我们的能力范围),所以我们的问题很简单。
有没有机会将 Jose4j 与 Java 6 集成?(完全没有,有一些限制,可以通过添加一些特定的库等以任何方式实现)
提前致谢
让 jose4j 在 Java 6 上运行(可能)是可能的,但需要重新编译和一些代码更改。
我相信有几个较旧版本的分支已经向后移植以使用 Java 6 编译和运行 - https://bitbucket.org/yosef_kitrossky/jose4j-jdk1.6/commits/all是我最新的知道并且还有https://bitbucket.org/ijazfx/jose4j/commits/all
您也可以在没有太多麻烦的情况下对最新版本进行反向移植。代码库使用了一些 multi-catch、diamond 和 try-with-resources 语法,这些语法需要转换为 Java 7 之前的等效语法。也许有点乏味,但不是火箭手术。还有一些算法不起作用。有些可能在运行时不可用,有些像所有与 AES-GCM 相关的位,需要从代码中删除才能编译。
由于某些单元测试使用大于 128 位http://www.oracle.com/technetwork/java/javase/的 AES 密钥,您还需要准备好 JCE 无限强度管辖策略文件下载/jce-6-download-429243.html
我希望这有帮助。不幸的是,我自己没有足够的带宽来维护 Java 6 兼容版本。