WebLogic Web サービス プログラマーズ ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

転送レベルのセキュリティのコンフィグレーション

この章では、Web サービス セキュリティをコンフィグレーションする方法について説明します。

 


転送レベルのセキュリティのコンフィグレーション : 主な手順

転送レベルのセキュリティとは、セキュア ソケット レイヤ (SSL) を使用したクライアント アプリケーションと Web サービスの間の接続の保護です。

SSL に関する概要と WebLogic Server に含まれている実装については、「セキュア ソケット レイヤ (SSL)」を参照してください。

転送レベルの Web サービス セキュリティをコンフィグレーションするには、次の手順に従います。

  1. WebLogic Server コア セキュリティ サブシステムに対して SSL をコンフィグレーションします。
  2. 一方向の SSL (WebLogic Server がクライアント アプリケーションに証明書を提示する必要がある)、または双方向の SSL (クライアント アプリケーションと WebLogic Server が両方とも互いに証明書を提示する必要がある) のいずれかをコンフィグレーションできます。

    WebLogic Server コア セキュリティ サブシステムに対して、双方向および一方向の SSL をコンフィグレーションする手順については、「SSL のコンフィグレーション」を参照してください。

  3. Web サービスを実装する JWS ファイル内に @weblogic.jws.security.UserDataConstaint アノテーションを追加し、Web サービスが HTTPS 転送を使用して呼び出されることを要求します。
  4. 詳細については、「weblogic.jws.security.UserDataConstraint」を参照してください。

  5. 通常の反復的な開発プロセスの一部として、Web サービスを再コンパイルして再デプロイします。
  6. WebLogic Web サービスの反復的な開発」を参照してください。

  7. clientgen Ant タスクを呼び出す build.xml ファイルを更新して、Web サービスの JAX-RPC スタブの生成に、デプロイされているサービスの動的 WSDL ではなく、静的 WSDL を使用するようにします。
  8. この場合に、clientgen が動的 WSDL からスタブを生成できない理由は、@UserDataConstraint アノテーションを指定する際に、すべてのクライアント アプリケーションで、clientgen を含むトラストストアを指定することが必要であるためです。しかし現在、clientgen でトラストストアを指定する方法はありません。したがって、Ant タスクは、動的 WSDL と同じ方法で Web サービスを記述する静的な WSDL からクライアント コンポーネントを生成しなければなりません。

  9. Web サービスを呼び出すクライアント アプリケーションを実行するときに、アプリケーションで使用する SSL 実装を示す特定のプロパティを指定します。特に、以下の場合です。
    • Certicom SSL 実装を指定するには、以下のプロパティを使用する。
    • -Djava.protocol.handler.pkgs=weblogic.net
      -Dweblogic.security.SSL.trustedCAKeyStore=trustStore

      trustStore には、信頼性のある証明書 (そのうちの 1 つはサーバの証明書でなければならない) のリストを格納するクライアントサイドのトラストストアの名前を指定します。ホスト名検証を無効にするには、次のプロパティも指定します。

      -Dweblogic.security.SSL.ignoreHostnameVerification=true
    • Sun の SSL 実装を指定するには、以下のプロパティを使用する。
    • -Djavax.net.ssl.trustStore=trustStore

      trustStore には、信頼性のある証明書 (そのうちの 1 つはサーバの証明書でなければならない) のリストを格納するクライアントサイドのトラストストアの名前を指定します。ホスト名検証を無効にするには、次のプロパティも指定します。

      -Dweblogic.wsee.client.ssl.stricthostchecking=false

      双方向 SSL の詳細については、「クライアント アプリケーションでの双方向 SSL のコンフィグレーション」を参照してください。

 


クライアント アプリケーションでの双方向 SSL のコンフィグレーション

WebLogic Server で双方向 SSL をコンフィグレーションした場合は、一方向 SSL で必要なように WebLogic Server がクライアント アプリケーションに証明書を提示するだけでなく、クライアント アプリケーションも WebLogic Server に証明書を提示する必要があります。さらに、以下の要件も満たしている必要があります。

 


その他の Web サービス SSL の例

dev2dev CodeShare は、BEA の技術に関するアイデア、コード、およびベスト プラクティスを共有する、開発者向けのコミュニティです。このサイトでは、BEA のさまざまなの技術のサンプル コードが紹介されており、Web サービスでの SSL の使い方に関するサンプル コードもあります。

dev2dev サイトで SSL Web サービスのサンプル コードの表示とダウンロードを行うには、メインのプロジェクト ページに移動し、[By Technology] カラムで [Web Services] リンクをクリックします。


ページの先頭       前  次