Java XML Digital Signature APIs 1.0(JSR 105)-XMLへの電子署名をサポート

    杉山貴章  [2005/07/11]

    Java Communitiy Processは8日(現地時間)、JSR 105として仕様の策定が行われてきたXML Digital Signature APIsの正式版およびその参照実装を公開した。このAPIはXML文書に対して電子署名を追加するための「XML電子署名」を処理する機能を提供する。これによってXML文書全体、XML文書の一部、外部のWebリソースなどに対して電子署名を付加することができる。

    XML電子署名の仕様についてはW3Cより「XML-Signature Syntax and Processing」として勧告されており、JSR 105はこれに準拠している。Webアプリケーションにおけるデータ交換にXMLが利用される例は珍しくないが、XMLはテキスト文書であるため作成者の身元証明や改竄の防止が難しい。XML電子署名では、署名対象の文書を元に暗号化された署名データを作成し、これを付加することで文書の改竄や模倣が無いことを保証する。

    これに加えてJSR 105では、XPathを使用してXMLデータの一部にだけ署名するための技術である「XML-Signature XPath Filter 2.0」や、XML文書の一部を正規化形式にシリアライズするための技術である「Exclusive XML Canonicalization Version 1.0」のサポートも推奨している(いずれもW3C勧告)。

    XML文書を処理するためのメカニズムそのものについては、特定のものに依存させないことを規定している。ただし、デフォルトのメカニズムとしてDOMの最低限の機能はサポートすることになっている。

    JSR 105 APIは、以下の6つのパッケージから構成される。

    • javax.xml.crypto : XML電子署名の生成やXMLデータの暗号化を行う基本パッケージ
    • javax.xml.crypto.dom : javax.xml.cryptoパッケージ用のDOMの機能を定義
    • javax.xml.crypto.dsig : W3Cの電子署名仕様に基づくXML要素を定義
    • javax.xml.crypto.dsig.dom : javax.xml.crypto.dsigパッケージ用のDOMの機能を定義
    • javax.xml.crypto.dsig.keyinfo : KeyInfo要素を処理するための機能を定義
    • javax.xml.crypto.dsig.spec : XML電子署名のパラメータを定義

    開発者はこれらのパッケージを利用することでXML文書に対する電子署名を効率よく処理することができる。ただし、現時点でJSR 105が提供するのはXML電子署名のための最も基本的な機能だけにすぎない。より高レベルのAPIは、必要に応じて今後のメンテナンスリリースで追加されることになるだろう。

    なお、JSR 105はJava EE 5やJava SE 6に標準で含まれる予定である。また、JAXB 2.0やJAX-WS 2.0といったXMLによるWebサービス技術は、このAPIを利用することでより堅固なセキュリティの実現を図っている。

    関連記事

    新しいJava用テスト・フレームワーク - TestNG 2.4公開 [2005/7/7]
    小型で高速なオープンソースのJava仮想マシン SableVM 1.12公開 [2005/7/7]
    ソースコードを添削してバグ退治 - PMDのEclipseプラグイン [2005/7/6]
    簡単! Pure Javaのデータベースエンジン - HSQLDB 1.8公開 [2005/7/5]
    オープンソースのJavaクラスライブラリ - GNU Classpath 0.16 "Harmony!" 公開 [2005/7/4]
    ついにベールを脱いだ米SunのリアルタイムJava [2005/7/4]
    オープンソースの高機能Java CMS - OpenCms 6.0.0公開 [2005/7/1]
    JavaOneに見るOracleのEJB 3.0/JFS/BPELへのコミット - SOAの実現へ [2005/7/1]
    OracleがJDeveloperのライセンスを無料に [2005/6/28]
    JavaOneに見るJava EE 5 - Persistence APIがEJBから独立 [2005/6/29]
    EJB 3.0をいち早く学ぼう - Webアプリの新技術を教えるJBoss TrailBlazer [2005/6/29]
    Eclipse 3.1リリース - J2SE 5.0をフルサポート [2005/6/29]
    Sun、Java System Application Serverをオープンソースに [2005/6/28]
    NetBeans用Javaアプリケーションプロファイラ - NetBeans Profiler [2005/6/28]
    Javaによる手軽なブログツール - Thingamablog [2005/6/27]
    Javaでドキュメント管理と自動ウェブサイト構築 - Apache Forrest 0.7 [2005/6/24]
    J2EEでもEoD - EJB 3.0対応JBoss、JavaOneにあわせて登場へ [2005/6/23]
    オープンソースのポータル基盤 JBoss Portal 2.0公開 [2005/6/23]
    Javaクラスファイルを縮小/難読化する - ProGuard 3.3公開 [2005/6/23]
    NeoOffice/J 1.1.4リリース - OS X TigerのSpotlightをサポート [2005/6/23]

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン