Sun JDK 1.5が2009年10月30日にサポート終了(EOL)となっちゃうために対応に追われている会社さんもあるかもしれませんが、そんな折、次のバージョンであるSun JDK 7のプレビュー版(Early Access)が公開されています。

各バージョンのサポート終了(EOL)のポリシーはここに書かれていますが、バージョンを追う毎に段々短命になってきてますね。リリースの頻度が短い分、メジャーリリースでの新しい機能追加も目新しさに欠けるような気がしています。

追加シンタックスの解説は他のサイトに譲るとして、Java SE 7 の暗号・セキュリティプログラミングの違いを見ていこうかなぁ、、と思っています。

早速、JDK 7 Early Access をダウンロードしてみました。

JDK 7 ea build b59 2009年5月14日版 (ea: early access)
% java -version
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b59)
Java HotSpot(TM) Client VM (build 16.0-b03, mixed mode, sharing)


でした。

さて同梱されるJCEプロバイダの一覧とバージョンの違いをまとめるとこんな感じ、、、












Sun JDK 1.6Sun JDK 7
build b59
備考
SUN 1.6SUN 1.6変更無し?
SunRsaSign 1.5SunRsaSign 1.7バージョンが変わっただけ?
SunJSSE 1.6SunJSSE 1.6com.sun.net.ssl.internal.ssl→sun.security.ssl
SunJCE 1.6SunJCE 1.7バージョンが変わっただけ?
SunJGSS 1.0SunJGSS 1.0変更無し?
SunSASL 1.5SunSASL 1.5変更無し?
XMLDSig 1.0XMLDSig 1.0C14N 1.1が追加された
SunPCSC 1.6SunPCSC 1.6変更無し?
SunMSCAPI 1.6SunMSCAPI 1.7バージョンが変わっただけ?


アルゴリズム一覧で差分をとって比較もしてみたんですが、恐ろしく変わってないです。追加されたアルゴリズムはXML正規化以外ありません。

主要と思われる違いをまとめるとこんなとこ、、、

・XMLDSig
 ・正規化 Canonical XML 1.1 (C14N 1.1)のサポート
・SunJSSE
 ・実装の名前空間がsun.security.sslに変更された。

XMLDSigは新たにC14N 1.1のサポートが追加されたのでちゃんとJCEプロバイダのバージョンを1.0から上げてもらいたいもんです。

以上、JCEの上辺については変わってなくてガッカリってことで、、、、

次回以降、

・C14N 1.1
・パス検証に違いはあるのか?

など見ていこうと思っています(が、、違いが無いと書きにくい(−−;