デモでもしようかCeltix 6

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

シナリオ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は将来変更される見込みです。

 

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る