Jose4j库与Java 6的兼容性

时间:2015-10-29 12:08:26

标签: jwt jose4j

我们正在考虑采用库来生成和使用JSON Web令牌。 Jose4j似乎是一个不错的选择,但库“Dependencies”表示“... Jose4j是用Java 7编译的,并且还将在Java 8上运行......”我们当前的安装在Java 6版本上运行(迁移到更高版本是超出我们的范围),所以我们的问题很简单。

有没有机会将Jose4j与Java 6集成? (完全没有,有一些限制,可以通过添加一些特定的库等以任何方式实现。)

提前致谢

2 个答案:

答案 0 :(得分:2)

让jose4j在Java 6上运行(可能)是可能的,但需要重新编译和一些代码更改。

有一些旧版本的旧版本,我认为已经反向移植以编译和运行Java 6 - https://bitbucket.org/yosef_kitrossky/jose4j-jdk1.6/commits/all是我所知道的最新版本,并且还有https://bitbucket.org/ijazfx/jose4j/commits/all < / p>

你可以做一个最新的后端,没有太多麻烦。代码库使用一些需要转换为Java 7之前版本的多catch,菱形和try-with-resources语法。可能有点乏味但不是火箭手术。还有一些算法不起作用。有些可能在运行时不可用,有些像所有与AES-GCM相关的位需要从代码中删除以使其编译。

您还希望拥有JCE无限强度管辖权政策文件,因为某些单元测试使用大于128位的AES密钥http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

我希望这会有所帮助。不幸的是,我自己没有带宽来维护Java 6兼容版本。

答案 1 :(得分:0)

Nimbus JOSE + JWT自4.11.1版本起就支持Java 6。

documentation开始,您只需要告知依赖项中的classifier

<dependency>
    <groupId>com.nimbusds</groupId>
    <artifactId>nimbus-jose-jwt</artifactId>
    <classifier>jdk16</classifier>
    <version>[ version ]</version>
</dependency>

您可以找到可用的版本here