2015-10-29 1 views
4

Nous envisageons l'adoption d'une bibliothèque pour générer et utiliser des jetons Web JSON. Jose4j semble un bon choix mais la bibliothèque "Dependencies" indique que "... Jose4j est compilé avec/pour Java 7 et fonctionnera aussi sur Java 8 ..." et notre installation actuelle fonctionne sur Java 6 (la migration vers les versions supérieures est hors de notre portée), notre question est simple.Compatibilité de la bibliothèque Jose4j avec Java 6

Y a-t-il une chance d'intégrer Jose4j avec Java 6? (Pas du tout, avec certaines limites, peut être réalisé de quelque façon en ajoutant des bibliothèques spécifiques, etc.)

Merci à l'avance

Répondre

2

Obtenir jose4j pour fonctionner sur Java 6 est (probablement) possible, mais il faudra recompilation et quelques changements de code.

Il y a eu une fourche d'un couple de versions un peu plus âgés qui, selon moi ravoir-porté pour compiler et exécuter avec Java 6-https://bitbucket.org/yosef_kitrossky/jose4j-jdk1.6/commits/all est le plus récent que je connais et il y a aussi https://bitbucket.org/ijazfx/jose4j/commits/all

Vous pourriez probablement faire un back-port du dernier aussi sans trop de problèmes. La base de code utilise des syntaxes multi-catch, diamond et try-with-resources qui devront être converties en équivalents pré Java 7. Un peu ennuyeux mais peut-être pas une fusée. Il y a aussi des algorithmes qui ne fonctionneront pas. Certains peuvent ne pas être disponibles au moment de l'exécution et d'autres, comme tous les bits liés à AES-GCM, devront être supprimés du code pour être compilés.

Vous voulez aussi avoir la JCE illimité Force File Politique de Compétence (s) en place que certains des tests unitaires utiliser des clés AES qui sont supérieures à 128 bits http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

J'espère que cela aide. Malheureusement, je n'ai pas de bande passante pour maintenir moi-même une version compatible avec Java 6.

+0

Merci pour votre réponse. Cela aide à coup sûr. Avoir deux chemins "d'investigation", ces fourchettes que vous avez mentionnées (peut-être que nous pouvons atteindre la fonctionnalité désirée avec ce back-porting) et/ou back-port la dernière version (en tenant compte de ce qui pourrait fonctionner). Encore merci pour votre réponse Brian, meilleures salutations. –

+0

a récemment remarqué ce https://bitbucket.org/n_k_c/jose4j/commits/091fbb0a1049750861e947e61f8cf3eca95c84f7 qui est des changements à compiler sur 6 dans ce que je pense est une fourche plus récente –

0

Nimbus JOSE + JWT prend en charge Java 6 depuis la version 4.11.1.

De documentation, il vous suffit d'informer l'classifier dans la dépendance:

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

Vous pouvez trouver les versions disponibles here.