hello_world_httpsサンプルを試す

2006年11月4日(土)
江川 潔

シナリオ3 セキュリティを施したJavaクラス

   シナリオ2のセキュリティ上の問題を解決するのがシナリオ3です。

   シナリオ3では「celtix.p12」で証明されたパスワードを安全に参照するため、セキュリティを施したjavaクラスを使います(注2)。このリリースでは、メソッドを実装したjavaクラスを書くことで、セキュリティ構成を作成します。


クライアント用のクラス


public void configure(SSLClientPolicy sslPolicyParam)

サーバ用のクラス


public void configure(SSLServerPolicy sslPolicyParam)

   クラスを作成したら、作成したクラスをポイントするためにJavaのシステムプロパティを指定します。システムプロパティの名前は、「celtix.security.configurer.」とbean idの文字列の組み合わせで構成されています。

   例えば、典型的なクライアント側のシステムプロパティは、次のようなidとなります。



celtix.security.configurer.celtix.{http://objectweb.org/hello_world_soap_http}
SOAPService/StrictSecurePort.http-client

   さらに、サーバ側のシステムプロパティは次のようになります。



celtix.security.configurer.celtix.http-listener.9001

   適切なプロパティを指定しておくことで「Client.java」と「Server.java」から利用できるようになります。なおbean idに関する詳細な情報は、Celtixコンフィグレーションガイドを参照してください。

   プロパティの値は「public void configure(SSLClientPolicy sslPolicyParam)」で実装されたJavaクラスか、「public void configure(SSLServerPolicy sslPolicyParam)」メソッドで有効となります。

   Celtixはクラスをロードする際にリフレクションを利用し、クライアント側とサーバ側のポリシーのインスタンスを有効とします。このときポリ シーの中の日付の一部(またはすべて)をコードに組み込みます。詳細については「security.xsd」ファイルで定義された、 SSLClientPolicyとSSLServerPolicyの構造体を参照してください。

   このデモで「demo.hw_https.common.DemoSecurityConfigurer」クラスはダイヤログボックスを使って 「celtix.p12」証明書のパスワードを参照します。このため、新たにコンフィグレーションを行う必要はありません。

起動するには

   UNIXとWindows共にサーバおよびクライアントを起動します。



ant server -Dsecurity_mode=strict_server ant client -Duser=strict_secure_user

   パスワード入力を促すダイヤログボックスが表示されるので「celtixpass」と入力します。クライアントからサーバへの呼び出しが成功します。



注2: Celtix 1.0でセキュリティ構成をサポートしていますが、APIは将来変更される見込みです。
日本アイオナテクノロジーズ株式会社 テクニカルセールスマネージャ

株式会社富士通SSLでNTT仕様のオペレーティング・システムの開発に従事したのち、日本ディジタルイク イップメント株式会社でNTT向けシステムの開発、その後、ソフトウェアとハードウェアのプリセールス活動を展開した。DECの合併を経て、現職のミドル ウェア製品のマーケティング、アライアンス、プリセールスなどに従事。

blog「Essence is Real」
http://blogs.iona.com/essence/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています