4

JSON Web Tokens を生成して利用するためのライブラリの採用を検討しています。Jose4j は良い選択のようですが、ライブラリの「依存関係」には、「...Jose4j は Java 7 でコンパイルされ、Java 8 でも実行されます...」と記載されており、現在のインストールは Java 6 バージョンで実行されます (より高いバージョンへの移行は私たちの手の届かないところにあるので、私たちの質問は簡単です。

Jose4j を Java 6 と統合する機会はありますか? (いくつかの制限はありますが、特定のライブラリを追加するなどの方法で実現できるわけではありません。)

前もって感謝します

4

2 に答える 2

2

jose4j を Java 6 で実行することは (おそらく) 可能ですが、再コンパイルといくつかのコード変更が必要になります。

Java 6 でコンパイルして実行するためにバックポートしたと思われる、やや古いバージョンのフォークがいくつかあります。について知っており、https://bitbucket.org/ijazfx/jose4j/commits/allもあります

あまり問題なく最新のバックポートを行うこともできます。コード ベースは、Java 7 より前の同等のものに変換する必要があるいくつかのマルチキャッチ、ダイヤモンド、および try-with-resources 構文を使用します。やや退屈かもしれませんが、ロケット手術ではありません。動作しないアルゴリズムもあります。実行時に利用できないものもあれば、AES-GCM 関連のすべてのビットと同様に、コンパイルするにはコードから削除する必要があるものもあります。

一部の単体テストでは 128 ビットを超える AES キーを使用するため、JCE Unlimited Strength Jurisdiction Policy File(s) も用意する必要がありますhttp://www.oracle.com/technetwork/java/javase/ダウンロード/jce-6-download-429243.html

これが役立つことを願っています。残念ながら、Java 6 と互換性のあるバージョンを自分で維持するだけの帯域幅がありません。

于 2015-10-30T15:49:57.973 に答える