Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理ガイド

- Previous: サンプルアプリケーションのセキュリティー保護
- Next: メッセージセキュリティーに関する管理コンソールタスク

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

- 「要求および応答ポリシー設定のアクション」

- 「その他のセキュリティー機能を設定する」

- 「JCE プロバイダを設定する」

### 要求および応答ポリシー設定のアクション

次の表は、メッセージ保護ポリシーの設定と、その結果として WS-Security SOAP メッセージセキュリティープロバイダによって実行されるメッセージセキュリティー処理を示したものです。

表 10–1 メッセージ保護ポリシーと WS-Security SOAP メッセージセキュリティー処理との対応づけ

メッセージ保護ポリシー | 結果として実行される WS-Security SOAP メッセージ保護処理
--- | ---
auth-source="sender" | メッセージに `wsse:Security` ヘッダーが格納され、そのヘッダー内に `wsse:UsernameToken` (パスワード付き) が格納されます。
auth-source="content" | SOAP メッセージ本体のコンテンツが署名されます。メッセージに `wsse:Security` ヘッダーが格納され、そのヘッダー内にメッセージ本体の署名が `ds`:`Signature` として格納されます。
auth-source="sender" auth-recipient="before-content" または auth-recipient="after-content" | SOAP メッセージ本体のコンテンツが暗号化され、その結果得られた `xend:EncryptedData` で置換されます。メッセージに `wsse:Security` ヘッダーが格納され、そのヘッダー内に `wsse:UsernameToken` (パスワード付き) と `xenc:EncryptedKey` が格納されます。`xenc:EncryptedKey` には、SOAP メッセージ本体の暗号化に使用した鍵が格納されます。この鍵は受信者の公開鍵で暗号化されます。
auth-source="content" auth-recipient="before-content" | SOAP メッセージ本体のコンテンツが暗号化され、その結果得られた `xend:EncryptedData` で置換されます。`xenc:EncryptedData` が署名されます。メッセージに `wsse:Security` ヘッダーが格納され、そのヘッダー内に `xenc:EncryptedKey` と `ds`:`Signature` として格納されます。`xenc:EncryptedKey` には、SOAP メッセージ本体の暗号化に使用した鍵が格納されます。この鍵は受信者の公開鍵で暗号化されます。
auth-source="content" auth-recipient="after-content" | SOAP メッセージ本体のコンテンツが、署名されたあと暗号化され、その結果得られた `xend:EncryptedData` で置換されます。メッセージに `wsse:Security` ヘッダーが格納され、そのヘッダー内に `xenc:EncryptedKey` と `ds:Signature` が格納されます。`xenc:EncryptedKey` には、SOAP メッセージ本体の暗号化に使用した鍵が格納されます。この鍵は受信者の公開鍵で暗号化されます。
auth-recipient="before-content" または auth-recipient="after-content" | SOAP メッセージ本体のコンテンツが暗号化され、その結果得られた `xend:EncryptedData` で置換されます。メッセージに `wsse:Security` ヘッダーが格納され、そのヘッダー内に `xenc:EncryptedKey` が格納されます。`xenc:EncryptedKey` には、SOAP メッセージ本体の暗号化に使用した鍵が格納されます。この鍵は受信者の公開鍵で暗号化されます。
ポリシーを何も指定しない。 | モジュールはセキュリティー処理を一切行いません。

### その他のセキュリティー機能を設定する

Application Server は、SOAP 処理レイヤー内に統合化されたメッセージセキュリティープロバイダを使用して、メッセージセキュリティーを実装します。メッセージセキュリティープロバイダは、Application Server のその他のセキュリティー機能に依存します。

##### 手順

1. バージョン 1.5.0 より前のバージョンの Java SDK を使用し、暗号化技術を使用する場合は、JCE プロバイダを設定します。

   JCE プロバイダの設定については、「JCE プロバイダを設定する」を参照してください。

2. ユーザー名トークンを使用する場合は、必要に応じてユーザーデータベースを設定します。ユーザー名およびパスワードトークンを使用する場合は、適切なレルムを設定し、このレルムに適切なユーザーデータベースを設定する必要があります。

   ユーザーデータベースの設定については、「レルムを編集する」を参照してください。

3. 必要に応じて証明書と非公開鍵を管理します。

   証明書と非公開鍵の管理については、「証明書ファイルについて」を参照してください。

##### 次の手順

Application Server の機能の設定が完了し、メッセージセキュリティープロバイダがそれらの機能を使用できるようになると、Application Server とともにインストールされたプロバイダを有効にできます。その手順については、「メッセージセキュリティーのプロバイダを有効にする」を参照してください。

### JCE プロバイダを設定する

J2SE 1.4.x に付属している JCE (Java Cryptography Extension) プロバイダは、RSA 暗号化をサポートしていません。通常、WS-Security で定義されている XML 暗号化は RSA 暗号化に基づいているため、WS-Security を使って SOAP メッセージを暗号化するには、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 プロバイダのリストが提供されています。`http://java.sun.com/products/jce/jce14_providers.html`。

2. JCE プロバイダの JAR ファイルを java-home`/jre/lib/ext/` にコピーします。

3. Application Server を停止します。

   Application Server を停止せずにこの手順の最後で再起動した場合、JCE プロバイダは Application Server に認識されません。

4. 任意のテキストエディタで java-home`/jre/lib/security/java.security` プロパティーファイルを編集します。このファイルに、前述の手順でダウンロードした JCE プロバイダを追加します。

   `java.security` ファイルに、このプロバイダを追加する詳細手順が含まれています。基本的には、類似したプロパティーを持つ場所に次の形式の行を追加する必要があります。

       security.provider.n=provider-class-name

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

   たとえば、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

5. ファイルを保存して、閉じます。

6. Application Server を再起動します。

- Previous: サンプルアプリケーションのセキュリティー保護
- Next: メッセージセキュリティーに関する管理コンソールタスク

- © 2010, Oracle Corporation and/or its affiliates