Application Server の設定とメッセージ保護の有効化

メッセージセキュリティのための Application Server の設定

メッセージセキュリティによって、サーバーは、メッセージレイヤで Web サービスの呼び出しおよび応答のエンドツーエンドを認証できます。Application Server は、SOAP レイヤのメッセージセキュリティプロバイダを使用して、メッセージセキュリティを実装します。メッセージセキュリティプロバイダは、要求メッセージおよび応答メッセージに必要な認証のタイプなどの情報を提供します。サポートされている認証には次のタイプが含まれます。

このリリースには、2 つのメッセージセキュリティプロバイダが付属しています。メッセージセキュリティプロバイダは、SOAP レイヤの認証用に設定されます。設定可能なプロバイダには、ClientProviderServerProvider があります。

メッセージレイヤセキュリティのサポートは、プラグイン可能な認証モジュールの形式で Application Server とそのクライアントコンテナに統合されています。Application Server では、メッセージレイヤセキュリティはデフォルトで無効になっています。

メッセージレイヤセキュリティを有効にし、設定するには、次の手順に従います。

  1. バージョン 1.5.0 より前のバージョンの Java SDK を使用し、暗号化技術を使用する場合は、JCE プロバイダを設定します。
  2. JCE プロバイダの設定については、「JCE プロバイダの設定」で説明されています。

  3. ユーザー名トークンを使用する場合は、必要に応じてユーザーデータベースを設定します。ユーザー名およびパスワードトークンを使用する場合は、適切なレルムを設定し、このレルムに適切なユーザーデータベースを設定する必要があります。
  4. ユーザーデータベースの設定については、「レルムの編集」で説明されています。

  5. 必要に応じて、キーストアおよびトラストストアファイルを管理します。
  6. キーストアファイルとトラストストアファイルの管理については、「証明書ファイルについて」で説明されています。

  7. メッセージセキュリティ設定を指定することにより、特定のプロバイダがバインドされていないすべてのアプリケーションに対して、メッセージセキュリティを有効にします。
  8. メッセージセキュリティ設定の指定については、「メッセージセキュリティのためのプロバイダの有効化」で説明されています。

  9. 上述の手順で有効化されたメッセージセキュリティプロバイダを設定します。
  10. メッセージセキュリティプロバイダの設定については、「メッセージセキュリティプロバイダの設定」で説明されています。

  11. メッセージセキュリティのアプリケーションクライアントコンテナを設定します。これにより、クライアントアプリケーションに必須のものに対するクライアントのビューが定義されます。
  12. メッセージセキュリティのアプリケーションクライアントコンテナの設定については、「クライアントアプリケーションのメッセージセキュリティの有効化」で説明されています。

関連項目

アプリケーション固有のメッセージ保護の有効化

Application Server のプロバイダ設定がセキュリティのニーズに対して不十分なためデフォルトの保護をオーバーライドしたい場合、アプリケーション固有のメッセージセキュリティを Web サービスに適用することができます。

アプリケーション固有のセキュリティは、Web サービスエンドポイントが EJB であるかサーブレットの Web サービスエンドポイントであるかにかかわらず、Web サービスのエンドポイントにバインドするメッセージセキュリティを追加することにより実装されます。Sun 固有の配備記述子ファイルを変更して、メッセージバインディング情報を追加します。

詳細については、『Developers' Guide』の「Securing Applications」の章を参照してください。「詳細情報」に、この章へのリンクが掲載されています。

特定のメソッドのメッセージセキュリティの有効化

特定のメソッドに対するメッセージセキュリティの有効化に関するトピックは、『Developers' Guide』の「Securing Applications」の章で説明されています。「詳細情報」に、この章へのリンクが掲載されています。

JCE プロバイダの設定

J2SE 1.4.x に付属している Java Cryptography Extension (JCE) プロバイダは RSA 暗号化をサポートしていません。多くの WSS アプリケーションが RSA 暗号化を使用するため、暗号化を使用する WSS アプリケーションを実行するには、RSA 暗号化をサポートする JCE プロバイダをダウンロードし、インストールする必要があります。

注: RSA は RSA Data Security, Inc. が開発した公開鍵暗号化技術です。この略語は、この技術の開発者である Rivest、Shamir、および Adelman を表しています。

Java SDK バージョン 1.5 で Application Server を実行している場合は、JCE プロバイダは正しく設定されています。Java SDK バージョン 1.4.x で Application Server を実行している場合は、次の手順に従って JCE プロバイダを JDK 環境の一部として静的に追加してください。

  1. JCE プロバイダの JAR (Java ARchive) ファイルをダウンロードし、インストールします。次の URL で、RSA 暗号化をサポートする JCE プロバイダのリストが提供されています。
  2. http://java.sun.com/products/jce/jce14_providers.html

  3. JCE プロバイダの JAR ファイルを <JAVA_HOME>/jre/lib/ext/ にコピーします。
  4. Application Server を停止します。Application Server を停止せずに、この手順の最後で再起動した場合、JCE プロバイダは Application Server に認識されません。
  5. 任意のテキストエディタで <JAVA_HOME>/jre/lib/security/java.security プロパティファイルを編集します。このファイルに、前述の手順でダウンロードした JCE プロバイダを追加します。java.security ファイルに、このプロバイダを追加する詳細手順が含まれています。基本的には、類似したプロパティを持つ場所に次の形式の行を追加する必要があります。
  6. security.provider.<n>=<プロバイダのクラス名>

    この例では、<n> は、Application Server がセキュリティプロバイダを評価する際に使用する優先順位を示します。ここで追加した JCE プロバイダには、<n> を 2 に設定します。

    たとえば、The Legion of the Bouncy Castle JCE プロバイダをダウンロードした場合は、次のような行を追加します。

    security.provider.2=org.bouncycastle.jce.provider.
    BouncyCastleProvider

    Sun セキュリティプロバイダが、値 1 の最高の優先順位に設定されていることを確認してください。

    security.provider.1=sun.security.provider.Sun

    各レベルにセキュリティプロバイダがただ 1 つだけ設定されるように、ほかのセキュリティプロバイダのレベルを下位に調整します。

    次に示す例は、必要な JCE プロバイダを提供し、既存のプロバイダを正しい位置に保持する java.security ファイルのサンプルです。

    security.provider.1=sun.security.provider.Sun
    security.provider.2=org.bouncycastle.jce.provider.
    BouncyCastleProvider
    security.provider.3=com.sun.net.ssl.internal.ssl.Provider
    security.provider.4=com.sun.rsajca.Provider
    security.provider.5=com.sun.crypto.provider.SunJCE
    security.provider.6=sun.security.jgss.SunProvider
  7. ファイルを保存して、閉じます。
  8. Application Server を再起動します。

著作権表示