ヘッダーをスキップ
Oracle Fusion Middleware Web Servicesセキュリティおよび管理者ガイド
11gリリース1(11.1.1)
B56247-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

16 Oracle WSM 11gの相互運用性

この章の内容は次のとおりです。

Oracle WSM 10gのセキュリティ環境との相互運用性

Oracle WSM 10gでは、各ポリシー強制ポイントでポリシー・ステップを指定します。Oracle WSM 10gのポリシー強制ポイントには、ゲートウェイとエージェントがあります。各ポリシー・ステップは、認証と認可、暗号化と復号化、セキュリティ署名、トークンまたは資格証明の検証、変換など、特定のセキュリティ操作に対応する詳細な運用タスクです。各運用タスクは、Webサービスのリクエストまたはレスポンスのいずれかで実行されます。Oracle WSM 10gのポリシー・ステップの詳細は、http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/policy_steps.htm#BABIAHEGにある『Oracle Web Services Manager管理者ガイド』のOracle Web Services Managerのポリシー・ステップに関する項を参照してください。

Oracle WSM 11gでは、Webサービス・エンドポイントにポリシーを添付します。ドメインレベルで定義される各ポリシーは、セキュリティ要件を定義する1つ以上のアサーションで構成されます。すぐに使用できる事前定義済のポリシーとアサーションのセットが用意されています。事前定義済ポリシーの詳細は、「事前定義済ポリシー」を参照してください。ポリシーの構成および添付の詳細は、「ポリシーの構成」および「Webサービスへのポリシーの添付」を参照してください。

次の項では、認証、メッセージ保護およびトランスポートのセキュリティ要件に基づいて、Oracle WSM 10gの相互運用性の最も一般的なシナリオを説明します。

次の項に、Oracle WSM 11gでのOracle WSM 10gゲートウェイおよびサード・パーティ・ソフトウェアの使用に関するその他の相互運用性情報を記載します。


注意:

次のシナリオでは、v3証明書を含むキーストアを必ず使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

Oracle WSM 10gゲートウェイに関する注意

「Oracle Fusion MiddlewareにおけるOracle WSMの再設計の詳細」で説明されているように、Oracle Fusion Middleware 11gリリース1(11.1.1)にはゲートウェイ・コンポーネントは含まれていません。次の項の説明に従って、アプリケーションのOracle WSM 10gポリシーでOracle WSM 10g Gatewayコンポーネントを引き続き使用できます。

サード・パーティのソフトウェアに関する注意

「Oracle Fusion MiddlewareにおけるOracle WSMの再設計の詳細」で説明されているように、Oracle WSM 10gでは、IBM WebSphereやRed Hat JBossなどのサード・パーティのアプリケーション・サーバーのポリシー強制がサポートされていました。Oracle Fusion Middleware 11gリリース1(11.1.1)でサポートされるのは、Oracle WebLogic Serverのみです。次の項の説明に従って、Oracle WSM 10gポリシーでサード・パーティのアプリケーション・サーバーを引き続き使用できます。

メッセージ保護(WS-Security 1.0)を使用する匿名認証

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用した匿名認証を実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WSM 10gのポリシー・ステップがWebサービス・クライアントに添付されている。

  • Oracle 10gのポリシー・ステップがWebサービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

詳細は、次の項目を参照してください。

Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-1 メッセージ保護(WS-Security 1.0)を使用する匿名認証: Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss10_message_protection_service_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    b. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  2. ポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle WSM 10g

次の手順を実行します。

  1. Oracle WSM 10gのゲートウェイに(前述の)Webサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  2. リクエスト・パイプラインに「メッセージの署名と暗号化」ポリシー・ステップを添付します。

  3. リクエスト・パイプラインの「メッセージの署名と暗号化」ポリシー・ステップを、次のように構成します。

    a. 「暗号化アルゴリズム」をAES-128に設定します。

    b. キー・トランスポート・アルゴリズムをRSA-OAEP-MGF1Pに設定します。

    c. メッセージの署名および暗号化用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  4. レスポンス・パイプラインに「署名の復号化と検証」ポリシー・ステップを添付します。

  5. レスポンス・パイプラインの「署名の復号化と検証」ポリシー・ステップを、次のように構成します。

    a. 復号化および署名の検証用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  6. Oracle WSMテスト・ページに移動し、Webサービスの仮想化URLを入力します。

  7. Webサービスを起動します。


Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

次の表で説明される手順を実行してください。

表16-2 メッセージ保護(WS-Security 1.0)を使用する匿名認証: Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 10g

次の手順を実行します。

  1. Oracle WSM 10gのゲートウェイにWebサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  2. リクエスト・パイプラインに「署名の復号化と検証」ポリシー・ステップを添付します。

  3. リクエスト・パイプラインの「署名の復号化と検証」ポリシー・ステップを、次のように構成します。

    a. 復号化および署名の検証用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  4. レスポンス・パイプラインに「メッセージの署名と暗号化」ポリシー・ステップを添付します。

  5. 「メッセージの署名と暗号化」ポリシー・レスポンス・パイプラインを、次のように構成します。

    a. 「暗号化アルゴリズム」をAES-128に設定します。

    b. キー・トランスポート・アルゴリズムをRSA-OAEP-MGF1Pに設定します。

    c. メッセージの署名および暗号化用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. Oracle WSM Gatewayで登録されたWebサービスの仮想化URLを使用して、クライアント・プロキシを作成します。

  2. oracle/wss10_message_protection_client_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    b. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  3. ポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  4. 「oracle/wss10_message_protection_client_policy」の説明に従ってポリシーを構成します。

  5. Webサービスを起動します。


メッセージ保護(WS-Security 1.0)を使用するユーザー名トークン

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用したユーザー名トークンを実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WSM 10gのポリシー・ステップがWebサービス・クライアントに添付されている。

  • Oracle 10gのポリシー・ステップがWebサービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

詳細は、次の項目を参照してください。

Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-3 メッセージ保護(WS-Security 1.0)を使用するユーザー名トークン: Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. wss10_username_token_with_message_protection_service_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    b. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  2. ポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle WSM 10g

次の手順を実行します。

  1. Oracle WSM 10gのゲートウェイに(前述の)Webサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  2. リクエスト・パイプラインに次のポリシー・ステップを添付します。

    - メッセージの署名と暗号化

  3. リクエスト・パイプラインの「メッセージの署名と暗号化」ポリシー・ステップを、次のように構成します。

    a. 「暗号化アルゴリズム」をAES-128に設定します。

    b. キー・トランスポート・アルゴリズムをRSA-OAEP-MGF1Pに設定します。

    c. 暗号化されたコンテンツをENVELOPEに設定します。

    d. 署名されたコンテンツをENVELOPEに設定します。

    e. メッセージの署名および暗号化用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  4. レスポンス・パイプラインに「署名の復号化と検証」ポリシー・ステップを添付します。

  5. レスポンス・パイプラインの「署名の復号化と検証」ポリシー・ステップを、次のように構成します。

    a. 復号化および署名の検証用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  6. Oracle WSMテスト・ページに移動し、Webサービスの仮想化URLを入力します。

  7. WS-Securityに対するヘッダーを含めるチェック・ボックスを選択して、有効な資格証明を指定します。

  8. Webサービスを起動します。


Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

次の表で説明される手順を実行してください。

表16-4 メッセージ保護(WS-Security 1.0)を使用するユーザー名トークン: Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 10g

次の手順を実行します。

  1. Oracle WSM 10gのゲートウェイにWebサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  2. リクエスト・パイプラインに次のポリシー・ステップを添付します。

    - 署名の復号化と検証

    - 資格証明の抽出(WS-BASICとして構成)

    - ファイルの認証

    注意: 「ファイルの認証」のかわりに、「LDAPの認証」、Oracle Access Managerの認証、「Active Directoryの認証」または「SiteMinderの認証」を使用できます。

  3. リクエスト・パイプラインの「署名の復号化と検証」ポリシー・ステップを、次のように構成します。

    a. 資格証明の抽出用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  4. リクエスト・パイプラインの「資格証明の抽出」ポリシー・ステップを、次のように構成します。

    a. 資格証明の場所をWS-BASICに設定します。

  5. 有効な資格証明を使用するようにリクエスト・パイプラインの「ファイルの認証」ポリシー・ステップを構成します。

  6. レスポンス・パイプラインに「メッセージの署名と暗号化」ポリシー・ステップを添付します。

  7. 「メッセージの署名と暗号化」ポリシー・レスポンス・パイプラインを、次のように構成します。

    a. 「暗号化アルゴリズム」をAES-128に設定します。

    b. キー・トランスポート・アルゴリズムをRSA-OAEP-MGF1Pに設定します。

    c. メッセージの署名および暗号化用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. Oracle WSM Gatewayで登録されたWebサービスの仮想化URLを使用して、クライアント・プロキシを作成します。

  2. oracle/wss10_username_token_with_message_protection_client_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    b. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  3. ポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  4. 「oracle/wss10_username_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  5. Webサービスを起動します。


メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証)

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用したSAMLトークン(送信者保証)を実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WSM 10gのポリシー・ステップがWebサービス・クライアントに添付されている。

  • Oracle 10gのポリシー・ステップがWebサービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

詳細は、次の項目を参照してください。

Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-5 メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証): Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss10_saml_token_with_message_protection_service_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    b. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  2. ポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle WSM 10g

次の手順を実行します。

  1. Oracle WSM 10gのゲートウェイに(前述の)Webサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  2. リクエスト・パイプラインに次のポリシー・ステップを添付します。

    - 資格証明の抽出(WS-BASICとして構成)

    - SAML - WSS 1.0送信者保証トークンの挿入

    - メッセージの署名と暗号化

  3. リクエスト・パイプラインの「資格証明の抽出」ポリシー・ステップを、次のように構成します。

    a. 資格証明の場所をWS-BASICに設定します。

  4. リクエスト・パイプラインの「SAML - WSS 1.0送信者保証トークンの挿入」ポリシー・ステップを、次のように構成します。

    a. サブジェクト名修飾子をwww.oracle.comに設定します。

    b. アサーション発行者をwww.oracle.comに設定します。

    c. サブジェクト書式を未指定に設定します。

    d. 必要に応じて、その他の署名プロパティを設定します。

  5. レスポンス・パイプラインに「メッセージの署名と暗号化」ポリシー・ステップを添付します。

  6. レスポンス・パイプラインの「メッセージの署名と暗号化」ポリシー・ステップを、次のように構成します。

    a. 「暗号化アルゴリズム」をAES-128に設定します。

    b. キー・トランスポート・アルゴリズムをRSA-OAEP-MGF1Pに設定します。

    c. 復号化および署名の検証用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  7. Oracle WSMテスト・ページに移動し、Webサービスの仮想化URLを入力します。

  8. WS-Securityに対するヘッダーを含めるチェック・ボックスを選択して、有効な資格証明を指定します。

  9. Webサービスを起動します。


Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

次の表で説明される手順を実行してください。

表16-6 メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証): Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 10g

次の手順を実行します。

  1. Oracle WSM 10gのゲートウェイにWebサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  2. リクエスト・パイプラインに次のポリシー・ステップを添付します。

    - XML復号化

    - SAML - WSS 1.0トークンの検証

  3. リクエスト・パイプラインの「XML復号化」ポリシー・ステップを、次のように構成します。

    a. XML復号化用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  4. リクエスト・パイプラインの「SAML - WSS 1.0トークンの検証」ポリシー・ステップを、次のように構成します。

    a. 信頼できる発行者名をwww.oracle.comに設定します。

  5. レスポンス・パイプラインに「メッセージの署名と暗号化」ポリシー・ステップを添付します。

  6. レスポンス・パイプラインの「メッセージの署名と暗号化」ポリシー・ステップを、次のように構成します。

    a. 「暗号化アルゴリズム」をAES-128に設定します。

    b. キー・トランスポート・アルゴリズムをRSA-OAEP-MGF1Pに設定します。

    c. メッセージの署名および暗号化用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. Oracle WSM Gatewayで登録されたWebサービスの仮想化URLを使用して、クライアント・プロキシを作成します。

  2. oracle/wss10_saml_token_with_message_protection_client_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    b. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  3. ポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  4. 「oracle/wss10_saml_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  5. Webサービスを起動します。


Oracle Access Managerのセキュリティ

次の項では、次の相互運用性シナリオを使用して、メッセージ保護を使用したOracle Access Managerセキュリティを実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WSM 10gのポリシー・ステップがOracle WSM 10gゲートウェイに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

詳細は、次の項目を参照してください。

Oracle WSM 11gクライアント→Oracle WSM 10gゲートウェイ→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-7 Oracle Access Managerセキュリティ: Oracle WSM 11gクライアント→Oracle WSM 10gゲートウェイ→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss_oam_token_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

ゲートウェイ: Oracle WSM 10g

次の手順を実行します。

  1. Oracle WSM 10gのゲートウェイに(前述の)Webサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  2. リクエスト・パイプラインに次のポリシー・ステップを添付します。

    - Oracle Access Managerの認証の認可

    - Oracle Access Managerトークンの挿入

  3. ポリシー・リクエスト・パイプラインのOracle Access Managerの認証の認可ポリシー・ステップを、次のように構成します。

    a. ForwardCookieをtrueに設定します。

  4. http://download.oracle.com/docs/cd/B25221_04/web.1013/b14429/coreid.htm#BJEIGIFHにある『Oracle Containers for J2EEセキュリティ・ガイド』の各OC4Jインスタンスに対するAccess SDKの構成に関する項の説明に従って、AccessServer SDKを設定します。

  5. http://download.oracle.com/docs/cd/B25221_04/core.1013/b25210/j2ee.htm#CACCJEHGにある『Oracle Application Serverエンタープライズ・デプロイメント・ガイド』のアプリケーションの認証と認可の構成に関する項の説明に従って、OAM認証を構成します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. Oracle WSM Gatewayで登録されたWebサービスの仮想化URLを使用して、セキュアJ2EE Webアプリケーション・クライアントを作成します。

  2. oracle/wss_oam_token_client_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  3. ポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  4. 「oracle/wss_oam_token_client_policy」の説明に従ってポリシーを構成します。

  5. Oracle WSMテスト・ページに移動し、Webサービスの仮想化URLを入力します。

  6. Webアプリケーションでリクエストされる必須の資格証明を指定します。


メッセージ保護(WS-Security 1.0)を使用する相互認証

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用した相互認証を実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WSM 10gのポリシー・ステップがWebサービス・クライアントに添付されている。

  • Oracle 10gのポリシー・ステップがWebサービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

詳細は、次の項目を参照してください。

Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-8 メッセージ保護(WS-Security 1.0)を使用する相互認証: Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss10_x509_token_with_message_protection_service_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    b. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  2. ポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle WSM 10g

次の手順を実行します。

  1. Oracle WSM 10gのゲートウェイに(前述の)Webサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  2. リクエスト・パイプラインに「メッセージの署名と暗号化」ポリシー・ステップを添付します。

  3. リクエスト・パイプラインの「メッセージの署名と暗号化」ポリシー・ステップを、次のように構成します。

    a. 「暗号化アルゴリズム」をAES-128に設定します。

    b. キー・トランスポート・アルゴリズムをRSA-OAEP-MGF1Pに設定します。

    c. メッセージの署名および暗号化用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  4. レスポンス・パイプラインに「署名の復号化と検証」ポリシー・ステップを添付します。

  5. レスポンス・パイプラインの「署名の復号化と検証」ポリシー・ステップを、次のように構成します。

    a. 復号化および署名の検証用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  6. ORACLE_HOME/j2ee/oc4j_instance/applications/gateway/gateway/WEB-INFにあるgateway-config-installer.propertiesファイルで、次のプロパティを更新します。

    pep.securitysteps.signBinarySecurityToken=true

  7. Oracle WSM Gatewayを再起動します。

  8. Oracle WSMテスト・ページに移動し、Webサービスの仮想化URLを入力します。

  9. Webサービスを起動します。


Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

次の表で説明される手順を実行してください。

表16-9 メッセージ保護(WS-Security 1.0)を使用する相互認証: Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 10g

次の手順を実行します。

  1. Oracle WSM 10gのゲートウェイにWebサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  2. リクエスト・パイプラインに「署名の復号化と検証」ポリシー・ステップを添付します。

  3. リクエスト・パイプラインの「署名の復号化と検証」ポリシー・ステップを、次のように構成します。

    a. 復号化および署名の検証用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

  4. レスポンス・パイプラインに「メッセージの署名と暗号化」ポリシー・ステップを添付します。

  5. レスポンス・パイプラインの「メッセージの署名と暗号化」ポリシー・ステップを、次のように構成します。

    a. 「暗号化アルゴリズム」をAES-128に設定します。

    b. キー・トランスポート・アルゴリズムをRSA-OAEP-MGF1Pに設定します。

    c. メッセージの署名および暗号化用のキーストア・プロパティを構成します。この構成は、サーバー側で使用されるキーストアに従う必要があります。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. Oracle WSM Gatewayで登録されたWebサービスの仮想化URLを使用して、クライアント・プロキシを作成します。

  2. oracle/wss10_x509_token_with_message_protection_client_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    b. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  3. ポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  4. 「oracle/wss10_x509_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  5. Webサービスを起動します。


SSL経由のユーザー名トークン

次の項では、次の相互運用性シナリオを使用して、SSL経由でユーザー名トークンを実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WSM 10gのポリシー・ステップがWebサービス・クライアントに添付されている。

  • Oracle 10gのポリシー・ステップがWebサービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

詳細は、次の項目を参照してください。

Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-10 SSL経由のユーザー名トークン: Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. SSLを使用するためにサーバーを構成します。

    詳細は、「WebLogic ServerへのSSLの構成(一方向)」および「WebLogic ServerへのSSLの構成(双方向)」を参照してください。

  2. wss_username_token_over_ssl_service_policyポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle WSM 10g

次の手順を実行します。

  1. SSLを使用するためにサーバーを構成します。

    詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

  2. Oracle WSM 10gのゲートウェイに(前述の)Webサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  3. Oracle WSMテスト・ページに移動し、Webサービスの仮想化URLを入力します。

  4. WS-Securityに対するヘッダーを含めるチェック・ボックスを選択して、有効な資格証明を指定します。

  5. Webサービスを起動します。


Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

次の表で説明される手順を実行してください。

表16-11 SSL経由のユーザー名トークン: Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 10g

次の手順を実行します。

  1. SSLを使用するためにサーバーを構成します。

    詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

  2. Oracle WSM 10gのゲートウェイにWebサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  3. 次のポリシー・ステップを添付します。

    - 資格証明の抽出

    - ファイルの認証

    注意: 「ファイルの認証」のかわりに、「LDAPの認証」、Oracle Access Managerの認証、「Active Directoryの認証」または「SiteMinderの認証」を使用できます。

  4. リクエスト・パイプラインの「資格証明の抽出」ポリシー・ステップを、次のように構成します。

    a. 資格証明の場所をWS-BASICに設定します。

  5. リクエスト・パイプラインの「ファイルの認証」ポリシー・ステップを適切な資格証明で構成します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. Oracle WSM Gatewayで登録されたWebサービスの仮想化URLを使用して、クライアント・プロキシを作成します。

    クライアントを生成するときに、URLのHTTPはHTTPポート番号と一緒に指定するようにしてください。

  2. oracle/wss_username_token_over_ssl_client_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    b. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  3. ポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  4. 「oracle/wss_username_token_over_ssl_client_policy」の説明に従ってポリシーを構成します。

  5. Webサービスを起動します。


SSL(WS-Security 1.0)経由のSAMLトークン(送信者保証)

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するSSL経由のSAMLトークン(送信者保証)を実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WSM 10gのポリシー・ステップがWebサービス・クライアントに添付されている。

  • Oracle 10gのポリシー・ステップがWebサービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

詳細は、次の項目を参照してください。

Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-12 SSL経由のSAMLトークン(送信者保証): Oracle WSM 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. 双方向SSLを使用するためにサーバーを構成します。

    詳細は、「WebLogic ServerへのSSLの構成(双方向)」を参照してください。

  2. oracle/wss_saml_token_over_ssl_service_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  3. ポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle WSM 10g

次の手順を実行します。

  1. 双方向SSLを使用するためにサーバーを構成します。

    詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

  2. Oracle WSM 10gのゲートウェイに(前述の)Webサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  3. 次のポリシー・ステップを添付します。

    - 資格証明の抽出

    - SAML - WSS 1.0送信者保証トークンの挿入

  4. リクエスト・パイプラインの「資格証明の抽出」ポリシー・ステップを、次のように構成します。

    a. 資格証明の場所をWS-BASICに設定します。

  5. リクエスト・パイプラインの「SAML - WSS 1.0送信者保証トークンの挿入」ポリシー・ステップを、次のように構成します。

    a. サブジェクト名修飾子をwww.oracle.comとして構成します。

    b. アサーション発行者をwww.oracle.comとして構成します。

    c. サブジェクト書式を未指定として構成します。

    d. 「アサーションに署名」をfalseとして構成します。

  6. Oracle WSMテスト・ページに移動し、Webサービスの仮想化URLを入力します。

  7. WS-Securityに対するヘッダーを含めるチェック・ボックスを選択して、有効な資格証明を指定します。

  8. Webサービスを起動します。


Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

次の表で説明される手順を実行してください。

表16-13 SSL経由のSAMLトークン(送信者保証): Oracle WSM 11gクライアント→Oracle WSM 10g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 10g

次の手順を実行します。

  1. 双方向SSLを使用するためにサーバーを構成します。

    詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

  2. Oracle WSM 10gのゲートウェイにWebサービスを登録します。http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/gateways.htmにある『Oracle Web Services Manager管理者ガイド』のOracle WSM GatewayへのWebサービスの登録に関する項を参照してください。

  3. 「SAML - WSS 1.0トークンの検証」ポリシー・ステップを添付します。

  4. リクエスト・パイプラインの「SAML - WSS 1.0トークンの検証」ポリシー・ステップを、次のように構成します。

    a.「署名の検証プロパティ」で、「署名されたアサーションのみ受け入れる」をfalseに設定します。

    b. 信頼できる発行者名をwww.oracle.comに設定します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. 双方向SSLを使用するためにサーバーを構成します。

    詳細は、「WebLogic ServerへのSSLの構成(双方向)」を参照してください。

  2. Oracle WSM Gatewayで登録されたWebサービスの仮想化URLを使用して、クライアント・プロキシを作成します。

  3. oracle/wss_saml_token_over_ssl_client_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「タイムスタンプを含める」の構成設定を無効にします。

    b. その他のすべての構成設定は、デフォルトの構成のままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  4. ポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  5. 「oracle/wss_saml_token_over_ssl_client_policy」の説明に従ってポリシーを構成します。

  6. Webサービスを起動します。


Oracle Containers for J2EE(OC4J)10gのセキュリティ環境との相互運用性

OC4J 10gでは、次の文書の説明に従ってセキュリティ環境を構成します。

Oracle WSM 11gでは、Webサービス・エンドポイントにポリシーを添付します。ドメインレベルで定義される各ポリシーは、セキュリティ要件を定義する1つ以上のアサーションで構成されます。すぐに使用できる事前定義済のポリシーとアサーションのセットが用意されています。事前定義済ポリシーの詳細は、「事前定義済ポリシー」を参照してください。ポリシーの構成および添付の詳細は、「ポリシーの構成」および「Webサービスへのポリシーの添付」を参照してください。

次の項では、認証、メッセージ保護およびトランスポートのセキュリティ要件に基づいて、OC4J 10gの相互運用性の最も一般的なシナリオを説明します。


注意:

次のシナリオでは、v3証明書を含むキーストアを必ず使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

メッセージ保護(WS-Security 1.0)を使用する匿名認証

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用した匿名認証を実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、OC4J 10gデプロイメント・ディスクリプタがWebサービス・クライアント用に定義されている。

  • OC4J 10gデプロイメント・ディスクリプタがWebサービス用に定義され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

Oracle WSM 11gポリシーを構成および添付する方法の詳細は、「ポリシーの構成」および「Webサービスへのポリシーの添付」を参照してください。

OC4J 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-14 メッセージ保護(WS-Security 1.0)を使用する匿名認証: OC4J 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss10_message_protection_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: OC4J 10g

次の手順を実行します。

  1. Oracle JDeveloperを使用してWebサービス(前述)用のクライアント・プロキシを作成します。

  2. Oracle JDeveloperウィザードを使用してプロキシを保護するには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。

  3. プロキシ・エディタのナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「認証なし」を選択します。

  4. プロキシ・エディタのナビゲーション・バーで「インバウンド整合性」をクリックし、次のオプションを設定します。

    - 「インバウンド署名リクエスト本体の検証」を選択します。

    - 「タイムスタンプの検証」「タイムスタンプに必要な作成時間」を選択します。

    - 「有効期限」を秒単位で入力します。

    - 「許容する署名アルゴリズム」の下にあるオプションをすべて選択します。

  5. プロキシ・エディタのナビゲーション・バーで「アウトバウンド整合性」をクリックし、次のオプションを設定します。

    - 「アウトバウンド・メッセージの署名」を選択します。

    - 「アウトバウンド・メッセージにタイムスタンプを追加」「タイムスタンプに必要な作成時間」を選択します。

    - 「有効期限」を秒単位で入力します。

  6. プロキシ・エディタのナビゲーション・バーで「インバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「インバウンド・メッセージ・コンテンツの復号化」を選択します。

    - 「許容する署名アルゴリズム」の下にあるオプションをすべて選択します。

  7. プロキシ・エディタのナビゲーション・バーで「アウトバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「アウトバウンド・メッセージの暗号化」を選択します。

    - 「アルゴリズム」を「AES-128」に設定します。

  8. プロキシ・エディタのナビゲーション・バーで「キーストア・オプション」をクリックし、キーストアのプロパティを必要に応じて構成します。

    必ずv3証明書を持つキーストアを使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

  9. 「OK」をクリックしてウィザードを閉じます。

  10. 「構造」ペインで、<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってファイルを編集します。


<appname>Binding_Stub.xmlファイルの編集

<appname>Binding_Stub.xmlファイルを次のように編集します。

  1. キーストアのパスワードと署名、および暗号化キーのパスワードを指定します。

  2. インバウンド署名に、次のように指定します。

    <inbound><verify-signature><tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp" />
    ...
    
  3. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します。

    <outbound>/<signature>/<tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
    wssecurity-utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  4. アウトバウンド暗号化に、鍵トランスポート・アルゴリズムを次のように指定します。

    <outbound><encrypt>
    <keytransport-method>RSA-OAEP-MGF1P</keytransport-method>
    ...
    

Oracle WSM 11gクライアント→OC4J 10g Webサービス

次の表で説明される手順を実行してください。

表16-15 メッセージ保護(WS-Security 1.0)を使用する匿名認証: Oracle WSM 11g→OC4J 10gクライアントWebサービス

Webサービス/クライアント 手順

Webサービス: OC4J 10g

次の手順を実行します。

  1. Application Server Controlを使用して、デプロイしたWebサービスを保護します。

  2. ナビゲーション・バーで「認証」をクリックし、どのオプションも選択されていないことを確認します。

  3. ナビゲーション・バーで「インバウンド整合性」をクリックし、次のオプションを設定します。

    - 「メッセージ本文に署名が必要」を選択します。

    - 「タイムスタンプの検証」「タイムスタンプ中に作成時間が必要」を選択します。

    - 「有効期限」を秒単位で入力します。

  4. ナビゲーション・バーで「アウトバウンド整合性」をクリックし、次のオプションを設定します。

    - 「メッセージのbody要素への署名」を選択します。

    - 「署名メソッド」「RSA-SHA1」に設定します。

    - 「タイムスタンプの追加」「タイムスタンプ中に作成時間が必要」を選択します。

    - 「有効期限」を秒単位で入力します。

  5. ナビゲーション・バーで「インバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「メッセージ本文に暗号化が必要」を選択します。

  6. ナビゲーション・バーで「アウトバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「メッセージのbody要素の暗号化」を選択します。

    - 「暗号化メソッド」「AES-128」に設定します。

    - 暗号化のための公開鍵を設定します。

  7. キーストアのプロパティとアイデンティティ証明書を構成します。

    必ずv3証明書を持つキーストアを使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

  8. 「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. OC4J 10g Webサービスに対するクライアント・プロキシを作成します。

  2. oracle/wss10_message_protection_client_policyポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  3. 「oracle/wss10_username_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  4. Webサービスを起動します。


wsmgmt.xmlファイルの編集

ORACLE_HOME/j2ee/oc4j_instance/configにあるwsmgmt.xmlファイルを次のように編集します。

  1. インバウンド署名に、次のように指定します。

    <inbound><verify-signature><tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  2. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します。

    <outbound>/<signature>/<tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  3. アウトバウンド暗号化に、鍵トランスポート・アルゴリズムを次のように指定します。

    <outbound><encrypt>
    <keytransport-method>RSA-OAEP-MGF1P</keytransport-method>
    ...
    

メッセージ保護(WS-Security 1.0)を使用するユーザー名トークン

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用したユーザー名トークンを実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、OC4J 10gデプロイメント・ディスクリプタがWebサービス・クライアント用に定義されている。

  • OC4J 10gデプロイメント・ディスクリプタがWebサービス用に定義され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

Oracle WSM 11gポリシーを構成および添付する方法の詳細は、「ポリシーの構成」および「Webサービスへのポリシーの添付」を参照してください。

OC4J 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-16 メッセージ保護を使用するユーザー名トークン: OC4J 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss10_username_token_with_message_protection_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: OC4J 10g

次の手順を実行します。

  1. Oracle JDeveloperを使用してWebサービス(前述)用のクライアント・プロキシを作成します。

  2. クライアント・プロキシにユーザー名とパスワードを次のように指定します。

    port.setUsername(<username>)
    port.setPassword(<password>)
    
  3. Oracle JDeveloperウィザードを使用してプロキシを保護するには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。

  4. プロキシ・エディタのナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「認証にユーザー名を使用」を選択します。

    - 「Nonceを追加」「作成時間を追加」の選択を解除します。

  5. プロキシ・エディタのナビゲーション・バーで「インバウンド整合性」をクリックし、次のオプションを設定します。

    - 「インバウンド署名リクエスト本体の検証」を選択します。

    - 「タイムスタンプの検証」「タイムスタンプに必要な作成時間」を選択します。

    - 「有効期限」を秒単位で入力します。

    - 「許容する署名アルゴリズム」の下にあるオプションをすべて選択します。

  6. プロキシ・エディタのナビゲーション・バーで「アウトバウンド整合性」をクリックし、次のオプションを設定します。

    - 「アウトバウンド・メッセージの署名」を選択します。

    - 「アウトバウンド・メッセージにタイムスタンプを追加」「タイムスタンプに必要な作成時間」を選択します。

    - 「有効期限」を秒単位で入力します。

  7. プロキシ・エディタのナビゲーション・バーで「インバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「インバウンド・メッセージ・コンテンツの復号化」を選択します。

    - 「許容する署名アルゴリズム」の下にあるオプションをすべて選択します。

  8. プロキシ・エディタのナビゲーション・バーで「アウトバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「アウトバウンド・メッセージの暗号化」を選択します。

    - 「アルゴリズム」を「AES-128」に設定します。

  9. プロキシ・エディタのナビゲーション・バーで「キーストア・オプション」をクリックし、キーストアのプロパティを必要に応じて構成します。

    必ずv3証明書を持つキーストアを使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

  10. 「OK」をクリックしてウィザードを閉じます。

  11. 「構造」ペインで、<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってファイルを編集します。


<appname>Binding_Stub.xmlファイルの編集

<appname>Binding_Stub.xmlファイルを次のように編集します。

  1. キーストアのパスワードと署名、および暗号化キーのパスワードを指定します。

  2. インバウンド署名に、次のように指定します。

    <inbound><verify-signature><tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
    wssecurity-utility-1.0.xsd" local-part="Timestamp" />
    ...
    
  3. アウトバウンド署名に、タイムスタンプとUsernameTokenへの署名が必要であることを次のように指定します。

    <outbound>/<signature>/<tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp"/>
     <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    secext-1.0.xsd" local-part="UsernameToken"/>
    ...
    
  4. アウトバウンド暗号化に、鍵トランスポート・アルゴリズムを次のように指定します。

    <outbound><encrypt>
    <keytransport-method>RSA-OAEP-MGF1P</keytransport-method>
    ...
    
  5. アウトバウンド暗号化に、UsernameTokenの暗号化が必要であることを次のように指定します。

    <outbound>/<encrypt>/<tbe-elements>
    <tbe-element 
    local-part="UsernameToken" name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
    wssecurity-secext-1.0.xsd" mode="CONTENT"/>
    ...
    

Oracle WSM 11gクライアント→OC4J 10g Webサービス

次の表で定義されている手順を実行してください。

表16-17 メッセージ保護を使用するユーザー名トークン: Oracle WSM 11gクライアント→OC4J 10g Webサービス

Webサービス/クライアント 手順

Webサービス: OC4J 10g

次の手順を実行します。

  1. Application Server Controlを使用して、デプロイしたWebサービスを保護します。

  2. ナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「ユーザー名/パスワード認証の使用」を選択します。

    - 「パスワード」「プレーン・テキスト」に設定します。

  3. ナビゲーション・バーで「インバウンド整合性」をクリックし、次のオプションを設定します。

    - 「メッセージ本文に署名が必要」を選択します。

    - 「タイムスタンプの検証」「タイムスタンプ中に作成時間が必要」を選択します。

    - 「有効期限」を秒単位で入力します。

  4. ナビゲーション・バーで「アウトバウンド整合性」をクリックし、次のオプションを設定します。

    - 「メッセージのbody要素への署名」を選択します。

    - 「署名メソッド」「RSA-SHA1」に設定します。

    - 「タイムスタンプの追加」「タイムスタンプ中に作成時間が必要」を選択します。

    - 「有効期限」を秒単位で入力します。

  5. ナビゲーション・バーで「インバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「メッセージ本文に暗号化が必要」を選択します。

  6. ナビゲーション・バーで「アウトバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「メッセージのbody要素の暗号化」を選択します。

    - 「暗号化メソッド」「AES-128」に設定します。

    - 暗号化のための公開鍵を設定します。

  7. キーストアのプロパティとアイデンティティ証明書を構成します。

    必ずv3証明書を持つキーストアを使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

  8. 「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. OC4J 10g Webサービスに対するクライアント・プロキシを作成します。

  2. oracle/wss10_username_token_with_message_protection_client_policyポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  3. 「oracle/wss10_username_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  4. Webサービスを起動します。


wsmgmt.xmlファイルの編集

ORACLE_HOME/j2ee/oc4j_instance/configにあるwsmgmt.xmlファイルを次のように編集します。

  1. インバウンド署名に、次のように指定します。

    <inbound><verify-signature><tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  2. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します。

    <outbound>/<signature>/<tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity
    -utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  3. アウトバウンド暗号化に、UsernameTokenの暗号化が必要であることを次のように指定します。

    <outbound>/<encrypt>/<tbe-elements>
    <tbe-element 
    local-part="UsernameToken" name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
    wssecurity-secext-1.0.xsd" mode="CONTENT"/>
    ...
    

メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証)

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用したSAMLトークン送信者保証を実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、OC4J 10gデプロイメント・ディスクリプタがWebサービス・クライアント用に定義されている。

  • OC4J 10gデプロイメント・ディスクリプタがWebサービス用に定義され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

Oracle WSM 11gポリシーを構成および添付する方法の詳細は、「ポリシーの構成」および「Webサービスへのポリシーの添付」を参照してください。

OC4J 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-18 メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証): OC4J 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss10_saml_token__with_message_protection_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: OC4J 10g

次の手順を実行します。

  1. Oracle JDeveloperを使用してWebサービス(前述)用のクライアント・プロキシを作成します。

  2. Oracle JDeveloperウィザードを使用してプロキシを保護するには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。

  3. プロキシ・エディタのナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「SAMLトークンの使用」を選択します。

    - 「SAML詳細」をクリックします。

    - 「送信者保証確認」「署名の使用」を選択します。

    - 「デフォルト・サブジェクト名」に伝播する必要があるユーザー名を入力します。

    - 「デフォルト発行者名」にwww.oracle.comと入力します。

  4. プロキシ・エディタのナビゲーション・バーで「インバウンド整合性」をクリックし、次のオプションを設定します。

    - 「インバウンド署名リクエスト本体の検証」を選択します。

    - 「タイムスタンプの検証」「タイムスタンプに必要な作成時間」を選択します。

    - 「有効期限」を秒単位で入力します。

    - 「許容する署名アルゴリズム」の下にあるオプションをすべて選択します。

  5. プロキシ・エディタのナビゲーション・バーで「アウトバウンド整合性」をクリックし、次のオプションを設定します。

    - 「アウトバウンド・メッセージの署名」を選択します。

    - 「アウトバウンド・メッセージにタイムスタンプを追加」「タイムスタンプに必要な作成時間」を選択します。

    - 「有効期限」を秒単位で入力します。

  6. プロキシ・エディタのナビゲーション・バーで「インバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「インバウンド・メッセージ・コンテンツの復号化」を選択します。

    - 「許容する署名アルゴリズム」の下にあるオプションをすべて選択します。

  7. プロキシ・エディタのナビゲーション・バーで「アウトバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「アウトバウンド・メッセージの暗号化」を選択します。

    - 「アルゴリズム」を「AES-128」に設定します。

  8. プロキシ・エディタのナビゲーション・バーで「キーストア・オプション」をクリックし、キーストアのプロパティを必要に応じて構成します。

    必ずv3証明書を持つキーストアを使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

  9. 「OK」をクリックしてウィザードを閉じます。

  10. 「構造」ペインで、<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってファイルを編集します。


<appname>Binding_Stub.xmlファイルの編集

<appname>Binding_Stub.xmlファイルを次のように編集します。

  1. キーストアのパスワードと署名、および暗号化キーのパスワードを指定します。

  2. インバウンド署名に、次のように指定します。

    <inbound><verify-signature><tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp" />
    ...
    
  3. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します。

    <outbound>/<signature>/<tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  4. アウトバウンド暗号化に、鍵トランスポート・アルゴリズムを次のように指定します。

    <outbound><encrypt>
    <keytransport-method>RSA-OAEP-MGF1P</keytransport-method>
    ...
    

Oracle WSM 11gクライアント→OC4J 10g Webサービス

次の表で定義されている手順を実行してください。

表16-19 メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証): Oracle WSM 11gクライアント→OC4J 10g Webサービス

Webサービス/クライアント 手順

Webサービス: OC4J 10g

次の手順を実行します。

  1. Application Server Controlを使用して、デプロイしたWebサービスを保護します。

  2. ナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「SAML認証の使用」を選択します。

    - 「送信者保証の許容」を選択します。

    - 「署名の検証」の選択を解除します。

  3. ナビゲーション・バーで「インバウンド整合性」をクリックし、次のオプションを設定します。

    - 「メッセージ本文に署名が必要」を選択します。

  4. ナビゲーション・バーで「アウトバウンド整合性」をクリックし、次のオプションを選択します。

    - 「メッセージのbody要素への署名」を選択します。

    - 「署名メソッド」「RSA-SHA1」に設定します。

    - 「タイムスタンプの追加」「タイムスタンプ中に作成時間が必要」を選択します。

    - 「有効期限」を秒単位で入力します。

  5. ナビゲーション・バーで「インバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「メッセージ本文に暗号化が必要」の選択を解除します。

  6. ナビゲーション・バーで「アウトバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「メッセージのbody要素の暗号化」を選択します。

    - 「暗号化メソッド」「AES-128」に設定します。

    - 暗号化のための公開鍵を設定します。

  7. ナビゲーション・バーで「インバウンド整合性」をクリックし、次のオプションを設定します。

    - 「メッセージ本文に署名が必要」を選択します。

    - 「タイムスタンプの検証」「タイムスタンプ中に作成時間が必要」を選択します。

    - 「有効期限」を秒単位で入力します。

  8. ナビゲーション・バーで「アウトバウンド整合性」をクリックし、次のオプションを設定します。

    - 「メッセージのbody要素への署名」を選択します。

    - 「署名メソッド」「RSA-SHA1」に設定します。

    - 「タイムスタンプの追加」「タイムスタンプ中に作成時間が必要」を選択します。

    - 「有効期限」を秒単位で入力します。

  9. キーストアのプロパティとアイデンティティ証明書を構成します。

    必ずv3証明書を持つキーストアを使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

  10. 「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. OC4J 10g Webサービスに対するクライアント・プロキシを作成します。

  2. oracle/wss10_saml_token_with_message_protection_client_policyポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  3. 「oracle/wss10_saml_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  4. Webサービスを起動します。


wsmgmt.xmlファイルの編集

ORACLE_HOME/j2ee/oc4j_instance/configにあるwsmgmt.xmlファイルを次のように編集します。

  1. インバウンド署名に、次のように指定します。

    <inbound><verify-signature><tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  2. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します。

    <outbound>/<signature>/<tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  3. アウトバウンド暗号化に、UsernameTokenの暗号化が必要であることを次のように指定します。

    <outbound>/<encrypt>/<tbe-elements>
    <tbe-element 
    local-part="UsernameToken" name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    secext-1.0.xsd" mode="CONTENT"/>
    ...
    

メッセージ保護(WS-Security 1.0)を使用する相互認証

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用した相互認証を実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、OC4J 10gデプロイメント・ディスクリプタがWebサービス・クライアント用に定義されている。

  • OC4J 10gデプロイメント・ディスクリプタがWebサービス用に定義され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

Oracle WSM 11gポリシーを構成および添付する方法の詳細は、「ポリシーの構成」および「Webサービスへのポリシーの添付」を参照してください。

OC4J 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-20 メッセージ保護(WS-Security 1.0)を使用する相互認証: OC4J 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss10_x509_token_with_message_protection_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: OC4J 10g

次の手順を実行します。

  1. Oracle JDeveloperを使用してWebサービス(前述)用のクライアント・プロキシを作成します。

  2. Oracle JDeveloperウィザードを使用してプロキシを保護するには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。

  3. プロキシ・エディタのナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「認証にX509を使用」を選択します。

  4. プロキシ・エディタのナビゲーション・バーで「インバウンド整合性」をクリックし、次のオプションを設定します。

    - 「インバウンド署名リクエスト本体の検証」を選択します。

    - 「タイムスタンプの検証」「タイムスタンプに必要な作成時間」を選択します。

    - 「有効期限」を秒単位で入力します。

    - 「許容する署名アルゴリズム」の下にあるオプションをすべて選択します。

  5. プロキシ・エディタのナビゲーション・バーで「アウトバウンド整合性」をクリックし、次のオプションを設定します。

    - 「アウトバウンド・メッセージの署名」を選択します。

    - 「アウトバウンド・メッセージにタイムスタンプを追加」「タイムスタンプに必要な作成時間」を選択します。

    - 「有効期限」を秒単位で入力します。

  6. プロキシ・エディタのナビゲーション・バーで「インバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「インバウンド・メッセージ・コンテンツの復号化」を選択します。

    - 「許容する署名アルゴリズム」の下にあるオプションをすべて選択します。

  7. プロキシ・エディタのナビゲーション・バーで「アウトバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「アウトバウンド・メッセージの暗号化」を選択します。

    - 「アルゴリズム」を「AES-128」に設定します。

  8. プロキシ・エディタのナビゲーション・バーで「キーストア・オプション」をクリックし、キーストアのプロパティを必要に応じて構成します。

    必ずv3証明書を持つキーストアを使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

  9. 「OK」をクリックしてウィザードを閉じます。

  10. 「構造」ペインで、<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってファイルを編集します。


<appname>Binding_Stub.xmlファイルの編集

<appname>Binding_Stub.xmlファイルを次のように編集します。

  1. キーストアのパスワードと署名、および暗号化キーのパスワードを指定します。

  2. インバウンド署名に、次のように指定します。

    <inbound><verify-signature><tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp" />
    ...
    
  3. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します。

    <outbound>/<signature>/<tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  4. アウトバウンド暗号化に、鍵トランスポート・アルゴリズムを次のように指定します。

    <outbound><encrypt>
    <keytransport-method>RSA-OAEP-MGF1P</keytransport-method>
    ...
    

Oracle WSM 11gクライアント→OC4J 10g Webサービス

次の表で説明される手順を実行してください。

表16-21 メッセージ保護(WS-Security 1.0)を使用する相互認証: Oracle WSM 11gクライアント→OC4J 10g Webサービス

Webサービス/クライアント 手順

Webサービス: OC4J 10g

次の手順を実行します。

  1. Application Server Controlを使用して、デプロイしたWebサービスを保護します。

  2. ナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「X509証明書認証の使用」を選択します。

  3. ナビゲーション・バーで「インバウンド整合性」をクリックし、次のオプションを設定します。

    - 「メッセージ本文に署名が必要」を選択します。

    - 「タイムスタンプの検証」「タイムスタンプ中に作成時間が必要」を選択します。

    - 「有効期限」を秒単位で入力します。

  4. ナビゲーション・バーで「アウトバウンド整合性」をクリックし、次のオプションを設定します。

    - 「メッセージのbody要素への署名」を選択します。

    - 「署名メソッド」「RSA-SHA1」に設定します。

    - 「タイムスタンプの追加」「タイムスタンプ中に作成時間が必要」を選択します。

    - 「有効期限」を秒単位で入力します。

  5. ナビゲーション・バーで「インバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「メッセージ本文に暗号化が必要」を選択します。

  6. ナビゲーション・バーで「アウトバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「メッセージのbody要素の暗号化」を選択します。

    - 「暗号化メソッド」「AES-128」に設定します。

    - 暗号化のための公開鍵を設定します。

  7. キーストアのプロパティとアイデンティティ証明書を構成します。

    必ずv3証明書を持つキーストアを使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

  8. 「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. OC4J 10g Webサービスに対するクライアント・プロキシを作成します。

  2. oracle/wss10_x509_token_with_message_protection_client_policyポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  3. 「oracle/wss10_x509_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  4. Webサービスを起動します。


wsmgmt.xmlファイルの編集

ORACLE_HOME/j2ee/oc4j_instanceconfigにあるwsmgmt.xmlファイルを次のように編集します。

  1. インバウンド署名に、次のように指定します。

    <inbound><verify-signature><tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  2. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します。

    <outbound>/<signature>/<tbs-elements>
    <tbs-element 
    name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    utility-1.0.xsd" local-part="Timestamp"/>
    ...
    
  3. アウトバウンド暗号化に、UsernameTokenの暗号化が必要であることを次のように指定します。

    <outbound>/<encrypt>/<tbe-elements>
    <tbe-element 
    local-part="UsernameToken" name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
    secext-1.0.xsd" mode="CONTENT"/>
    ...
    

SSL経由のユーザー名トークン

次の項では、次の相互運用性シナリオを使用して、SSL経由でユーザー名トークンを実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、OC4J 10gデプロイメント・ディスクリプタがWebサービス・クライアント用に定義されている。

  • OC4J 10gデプロイメント・ディスクリプタがWebサービス用に定義され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

詳細は、次の項を参照してください。

OC4J 10gクライアント→Oracle WSM 11g Webサービス

次の表で定義されている手順を実行してください。

表16-22 SSL経由のユーザー名トークン: OC4J 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. SSLを使用するためにサーバーを構成します。

    詳細は、「WebLogic ServerへのSSLの構成(一方向)」および「WebLogic ServerへのSSLの構成(双方向)」を参照してください。

  2. oracle/wss_username_token_over_ssl_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: OC4J 10g

次の手順を実行します。

  1. Oracle JDeveloperを使用してWebサービス(前述)用のクライアント・プロキシを作成します。

    Webサービス・エンドポイントが、HTTPSとOracle WebLogic Serverに構成されているSSLポートを使用してURLを参照するようにします。

  2. 双方向SSLを初期化するには、次のコードの抜粋を(クライアント・プロキシ・コードの先頭に)追加します。

    HostnameVerifier hv = new HostnameVerifier()
    httpsURLConnection.setDefaultHostnameVerifier(hv);
    System.setProperty("javax.net.ssl.trustStore","<trust_store>");
    System.setProperty("javax.net.ssl.trustStorePassword","<trust_store_password>");
    System.setProperty("javax.net.ssl.keyStore","<key_store>");
    System.setProperty("javax.net.ssl.keyStorePassword","<key_store_password>");
    System.setProperty("javax.net.ssl.keyStoreType","JKS");
    
  3. Oracle JDeveloperウィザードを使用してプロキシを保護するには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。

  4. プロキシ・エディタのナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「認証にユーザー名を使用」を選択します。

    - 「Nonceを追加」「作成時間を追加」の選択を解除します。

  5. プロキシ・エディタのナビゲーション・バーで「インバウンド整合性」をクリックし、すべてのオプションの選択を解除します。

  6. プロキシ・エディタのナビゲーション・バーで「アウトバウンド整合性」をクリックし、すべてのオプションの選択を解除します。

  7. プロキシ・エディタのナビゲーション・バーで「インバウンド機密保護」をクリックし、すべてのオプションの選択を解除します。

  8. プロキシ・エディタのナビゲーション・バーで「アウトバウンド機密保護」をクリックし、すべてのオプションの選択を解除します。

  9. プロキシ・エディタのナビゲーション・バーで「キーストア・オプション」をクリックし、キーストアのプロパティを必要に応じて構成します。

    必ずv3証明書を持つキーストアを使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

  10. 「OK」をクリックしてウィザードを閉じます。

  11. 「構造」ペインで、<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってファイルを編集します。


<appname>Binding_Stub.xmlファイルの編集

<appname>Binding_Stub.xmlファイルを次のように編集します。

  1. キーストアのパスワードと署名、および暗号化キーのパスワードを指定します。

  2. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します(さらに他のすべてのタグを削除します)。

    <outbound>
       <signature>
          <add-timestamp created="true" expiry="<Expiry_Time>"/>
       </signature>
    ...
    

Oracle WSM 11gクライアント→OC4J 10g Webサービス

次の表で定義されている手順を実行してください。

表16-23 SSL経由のユーザー名トークン: Oracle WSM 11gクライアント→OC4J 10g Webサービス

Webサービス/クライアント 手順

Webサービス: OC4J 10g

次の手順を実行します。

  1. SSLを使用するためにサーバーを構成します。

    詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

  2. Application Server Controlを使用して、デプロイしたWebサービスを保護します。

  3. ナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「ユーザー名/パスワード認証の使用」を選択します。

  4. ナビゲーション・バーで「インバウンド整合性」をクリックし、すべてのオプションの選択を解除します。

  5. ナビゲーション・バーで「アウトバウンド整合性」をクリックし、すべてのオプションの選択を解除します。

  6. ナビゲーション・バーで「インバウンド機密保護」をクリックし、すべてのオプションの選択を解除します。

  7. ナビゲーション・バーで「アウトバウンド機密保護」をクリックし、すべてのオプションの選択を解除します。

  8. 「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. clientgenを使用して、OC4J 10g Webサービスに対するクライアント・プロキシを作成します。

    Webサービス・エンドポイントが、HTTPSとOracle WebLogic Serverに構成されているSSLポートを使用してURLを参照するようにします。

  2. 双方向SSLを初期化するには、次のコードの抜粋を(クライアント・プロキシ・コードの先頭に)追加します。

    HostnameVerifier hv = new HostnameVerifier()
    httpsURLConnection.setDefaultHostnameVerifier(hv);
    System.setProperty("javax.net.ssl.trustStore","<trust_store>");
    System.setProperty("javax.net.ssl.trustStorePassword","<trust_store_password>");
    System.setProperty("javax.net.ssl.keyStore","<key_store>");
    System.setProperty("javax.net.ssl.keyStorePassword","<key_store_password>");
    System.setProperty("javax.net.ssl.keyStoreType","JKS");
    
  3. oracle/wss_username_token_over_ssl_client_policyポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  4. 「oracle/wss_username_token_over_ssl_client_policy」の説明に従ってポリシーを構成します。

  5. Webサービスを起動します。


wsmgmt.xmlファイルの編集

ORACLE_HOME/j2ee/oc4j_instance/configにあるwsmgmt.xmlファイルを次のように編集します。

  1. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します(さらに他のすべてのタグを削除します)。

    <outbound>
       <signature>
          <add-timestamp created="true" expiry="<Expiry_Time>"/>
       </signature>
    ...
    

SSL(WS-Security 1.0)経由のSAMLトークン(送信者保証)

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するSSL経由のSAMLトークン(送信者保証)を実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、OC4J 10gデプロイメント・ディスクリプタがWebサービス・クライアント用に定義されている。

  • OC4J 10gデプロイメント・ディスクリプタがWebサービス用に定義され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

詳細は、次の項を参照してください。

OC4J 10gクライアント→Oracle WSM 11g Webサービス

次の表で定義されている手順を実行してください。

表16-24 SSL(WS-Security 1.0)経由のSAMLトークン(送信者保証): OC4J 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. 双方向SSLを使用するためにサーバーを構成します。

    詳細は、「WebLogic ServerへのSSLの構成(双方向)」を参照してください。

  2. oracle/wss_saml_token_over_ssl_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: OC4J 10g

次の手順を実行します。

  1. 双方向SSLを使用するためにサーバーを構成します。

    詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

  2. Oracle JDeveloperを使用してWebサービス(前述)用のクライアント・プロキシを作成します。

    Webサービス・エンドポイントが、HTTPSとOracle WebLogic Serverに構成されているSSLポートを使用してURLを参照するようにします。

  3. 双方向SSLを初期化するには、次のコードの抜粋を(クライアント・プロキシ・コードの先頭に)追加します。

    HostnameVerifier hv = new HostnameVerifier()
    httpsURLConnection.setDefaultHostnameVerifier(hv);
    System.setProperty("javax.net.ssl.trustStore","<trust_store>");
    System.setProperty("javax.net.ssl.trustStorePassword","<trust_store_password>");
    System.setProperty("javax.net.ssl.keyStore","<key_store>");
    System.setProperty("javax.net.ssl.keyStorePassword","<key_store_password>");
    System.setProperty("javax.net.ssl.keyStoreType","JKS");
    
  4. Oracle JDeveloperウィザードを使用してプロキシを保護するには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。

  5. プロキシ・エディタのナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「SAMLトークンの使用」を選択します。

    - 「SAML詳細」をクリックします。

    - 「送信者保証確認」を選択します。

    - 「デフォルト・サブジェクト名」に有効なユーザー名を入力します。

  6. プロキシ・エディタのナビゲーション・バーで「インバウンド整合性」をクリックし、次のオプションを設定します。

    - インバウンド署名メッセージ本体の検証の選択を解除します。

  7. プロキシ・エディタのナビゲーション・バーで「アウトバウンド整合性」をクリックし、すべてのオプションの選択を解除します。

  8. プロキシ・エディタのナビゲーション・バーで「インバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「インバウンド・メッセージ・コンテンツの復号化」の選択を解除します。

  9. プロキシ・エディタのナビゲーション・バーで「アウトバウンド機密保護」をクリックし、次のオプションを設定します。

    - 「アウトバウンド・メッセージの暗号化」の選択を解除します。

  10. 使用するキーストアに必要な情報を指定します。

  11. 「OK」をクリックしてウィザードを閉じます。

  12. 「構造」ペインで、<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってファイルを編集します。


<appname>Binding_Stub.xmlファイルの編集

<appname>Binding_Stub.xmlファイルを次のように編集します。

  1. キーストアのパスワードと署名、および暗号化キーのパスワードを指定します。

  2. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します(さらに他のすべてのタグを削除します)。

    <outbound>
       <signature>
          <add-timestamp created="true" expiry="<Expiry_Time>"/>
       </signature>
    ...
    

Oracle WSM 11gクライアント→OC4J 10g Webサービス

次の表で定義されている手順を実行してください。

表16-25 SSL(WS-Security 1.0)経由のSAMLトークン(送信者保証): Oracle WSM 11gクライアント→OC4J 10g Webサービス

クライアント/サービス 手順

Webサービス: OC4J 10g

次の手順を実行します。

  1. 双方向SSLを使用するためにサーバーを構成します。

    詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

  2. Application Server Controlを使用して、デプロイしたWebサービスを保護します。

  3. ナビゲーション・バーで「認証」をクリックし、次のオプションを設定します。

    - 「SAML認証の使用」を選択します。

    - 「送信者保証の許容」を選択します。

    - 「署名の検証」の選択を解除します。

  4. ナビゲーション・バーで「インバウンド整合性」をクリックし、すべてのオプションの選択を解除します。

  5. ナビゲーション・バーで「アウトバウンド整合性」をクリックし、すべてのオプションの選択を解除します。

  6. ナビゲーション・バーで「インバウンド機密保護」をクリックし、すべてのオプションの選択を解除します。

  7. ナビゲーション・バーで「アウトバウンド機密保護」をクリックし、すべてのオプションの選択を解除します。

  8. 「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. 双方向SSLを使用するためにサーバーを構成します。

    詳細は、「WebLogic ServerへのSSLの構成(双方向)」を参照してください。

  2. OC4J 10g Webサービスに対するクライアント・プロキシを作成します。

    Webサービス・エンドポイントが、HTTPSとOracle WebLogic Serverに構成されているSSLポートを使用してURLを参照するようにします。

  3. oracle/wss_saml_token_over_ssl_client_policyポリシーを添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  4. 「oracle/wss_saml_token_over_ssl_client_policy」の説明に従ってポリシーを構成します。

  5. Webサービスを起動します。


wsmgmt.xmlファイルの編集

ORACLE_HOME/j2ee/oc4j_instance/configにあるwsmgmt.xmlファイルを次のように編集します。

  1. アウトバウンド署名に、タイムスタンプへの署名が必要であることを次のように指定します(さらに他のすべてのタグを削除します)。

    <outbound>
       <signature>
          <add-timestamp created="true" expiry="<Expiry_Time>"/>
       </signature>
    ...
    

Oracle WebLogic Server 11gのWebサービス・セキュリティ環境との相互運用性

Oracle Fusion Middleware 11gでは、Oracle WSMとOracle WebLogic Serverの両方のWebサービス・ポリシーをWebLogic Java EE Webサービスに添付できます。

Oracle WSM 11gの事前定義済ポリシーの詳細は、次の項を参照してください。

Oracle WebLogic Server 11gの事前定義済Webサービス・ポリシーの詳細は、次の項を参照してください。

次の項では、認証、メッセージ保護およびトランスポートのセキュリティ要件に基づいて、Oracle WebLogic Server 11g Webサービス・ポリシーの相互運用性の最も一般的なシナリオを説明します。

メッセージ保護(WS-Security 1.1)を使用するユーザー名トークン

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.1標準に準拠するメッセージ保護を使用したユーザー名トークンを実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WebLogic Server 11gのWebサービス・ポリシーがWebサービス・クライアントに添付されている。

  • Oracle WebLogic Server 11gのWebサービス・ポリシーがWebサービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

Oracle WebLogic Server 11gクライアント→Oracle WSM 11g Webサービス

次の表で説明されているように、ポリシーを添付および構成します。

表16-26 メッセージ保護(WS-Security 1.1)を使用するユーザー名トークン: Oracle WebLogic Server 11gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss11_username_token_with_message_protection_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle WebLogic Server 11g

次の手順を実行します。

  1. clientgenを使用してWebサービス(前述)のクライアント・プロキシを作成します。

    詳細は、『Oracle Fusion Middleware Getting Started With JAX-WS Web Services for Oracle WebLogic Server』のclientgen Antタスクを使用してクライアント・アーティファクトを生成する手順に関する項を参照してください。

  2. 次のポリシーを添付します。

    - Wssp1.2-2007-Wss1.1-UsernameToken-Plain-EncryptedKey-Basic128.xml

    - Wssp1.2-2007-SignBody.xml

    - Wssp1.2-2007-EncryptBody.xml

  3. 『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』のメッセージ保護されているWebサービスを起動するためにクライアント・アプリケーションを更新する手順に関する項で説明されているように、サーバー(暗号化キー)をクライアントに構成します。

    指定した暗号化キーがWebサービスで構成した暗号化キーと一致していることを確認します。

  4. クライアントからWebサービス・メソッドを起動します。


Oracle WSM 11gクライアント→Oracle WebLogic Server 11g Webサービス

次の表で説明されているように、ポリシーを添付および構成します。

表16-27 メッセージ保護(WS-Security 1.1)を使用するユーザー名トークン: Oracle WSM 11gクライアント→Oracle WebLogic Server 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WebLogic Server 11g

次の手順を実行します。

  1. 次のポリシーを添付します。

    - Wssp1.2-2007-Wss1.1-UsernameToken-Plain-EncryptedKey-Basic128.xml

    - Wssp1.2-2007-SignBody.xml

    - Wssp1.2-2007-EncryptBody.xml

    詳細は、『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』の@Policyと@Policies注釈付きのJWSファイルを更新する手順に関する項を参照してください。

  2. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのIDと信頼の構成に関する項で説明されているように、IDと信頼ストアを構成します。

  3. 次で説明されているように、メッセージ・レベルのセキュリティを構成します。

    - 『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』のメッセージ・レベルのセキュリティの構成に関する項

    - Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのWebサービス・セキュリティの構成の作成に関する項。

    WS-Security 1.1ポリシーでは、機密保護キー以外は構成する必要がありません。

  4. Webサービスをデプロイします。

    『Oracle Fusion Middleware Deploying Applications to Oracle WebLogic Server』を参照してください。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. Webサービス(前述)のクライアント・プロキシを作成します。

  2. oracle/wss11_username_token_with_message_protection_client_policyポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  3. 「oracle/wss11_username_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  4. クライアント構成でkeystore.recipient.aliasを指定します。

    keystore.recipient.aliasがWebサービスで指定した復号化キーと同じであることを確認します。

  5. クライアントで指定したkeystore.recipient.aliasキーが、Webサービスで構成した信頼ストアに信頼できる証明書のエントリとして存在していることを確認します。

  6. 構成時に有効なユーザー名とパスワードを入力します。

  7. クライアントからWebサービス・メソッドを起動します。


メッセージ保護(WS-Security 1.0)を使用するユーザー名トークン

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用したユーザー名トークンを実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WebLogic Server 11gのWebサービス・ポリシーがWebサービス・クライアントに添付されている。

  • Oracle WebLogic Server 11gのWebサービス・ポリシーがWebサービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。


注意:

WS-Security 1.0ポリシーは、従来のアプリケーションでのみサポートされます。パフォーマンスを最大限発揮するには、WS-Security 1.1ポリシーを使用します。詳細は、「メッセージ保護(WS-Security 1.1)を使用するユーザー名トークン」を参照してください。

Oracle WebLogic Server 11gクライアント→Oracle WSM 11g Webサービス

次の表で説明されているように、ポリシーを添付および構成します。

表16-28 メッセージ保護(WS-Security 1.0)を使用するユーザー名トークン: Oracle WebLogic Server 11gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss10_username_token_with_message_protection_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle WebLogic Server 11g

次の手順を実行します。

  1. clientgenを使用してWebサービス(前述)のクライアント・プロキシを作成します。

    詳細は、『Oracle Fusion Middleware Getting Started With JAX-WS Web Services for Oracle WebLogic Server』のclientgen Antタスクを使用してクライアント・アーティファクトを生成する手順に関する項を参照してください。

  2. 次のポリシーを添付します。

    - Wssp1.2-wss10_username_token_with_message_protection_owsm_policy.xml

    - Wssp1.2-2007-SignBody.xml

    - Wssp1.2-2007-EncryptBody.xml

  3. 『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』のメッセージ保護されているWebサービスを起動するためにクライアント・アプリケーションを更新する手順に関する項で説明されているように、サーバー(暗号化キー)およびクライアント証明書をクライアントに構成します。

    指定した暗号化キーがWebサービスで構成した復号化キーと一致していることを確認します。

  4. クライアントからWebサービス・メソッドを起動します。


Oracle WSM 11gクライアント→Oracle WebLogic Server 11g Webサービス

次の表で説明されているように、ポリシーを添付および構成します。

表16-29 メッセージ保護(WS-Security 1.0)を使用するユーザー名トークン: Oracle WSM 11gクライアント→Oracle WebLogic Server 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WebLogic Server 11g

次の手順を実行します。

  1. 次のポリシーを添付します。

    - Wssp1.2-wss10_username_token_with_message_protection_owsm_policy.xml

    - Wssp1.2-2007-SignBody.xml

    - Wssp1.2-2007-EncryptBody.xml

    詳細は、『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』の@Policyと@Policies注釈付きのJWSファイルを更新する手順に関する項を参照してください。

  2. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのIDと信頼の構成に関する項で説明されているように、IDと信頼ストアを構成します。

  3. 次で説明されているように、メッセージ・レベルのセキュリティを構成します。

    - 『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』のメッセージ・レベルのセキュリティの構成に関する項

    - Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのWebサービス・セキュリティの構成の作成に関する項。

  4. Webサービスをデプロイします。

    『Oracle Fusion Middleware Deploying Applications to Oracle WebLogic Server』を参照してください。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. Webサービス(前述)のクライアント・プロキシを作成します。

  2. oracle/wss10_username_token_with_message_protection_client_policyポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  3. 「oracle/wss10_username_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  4. クライアント(署名および復号化キー)とキーストアの受信者の別名(暗号化に使用するサーバーの公開鍵)で異なるキーを使用していることを確認します。受信者の別名がWebサービス・ポリシーのセキュリティ構成で定義したキーと一致していることを確認します。

  5. クライアントで指定した署名および暗号化キーが、Webサービスで構成した信頼ストアに信頼できる証明書のエントリとして存在していることを確認します。

  6. 構成時に有効なユーザー名とパスワードを入力します。

  7. クライアントからWebサービス・メソッドを起動します。


メッセージ保護(WS-Security 1.1)を使用するSAMLトークン(送信者保証)

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.1標準に準拠するメッセージ保護を使用したSAMLトークン送信者保証を実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WebLogic Server 11gのWebサービス・ポリシーがWebサービス・クライアントに添付されている。

  • Oracle WebLogic Server 11gのWebサービス・ポリシーがWebサービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

Oracle WebLogic Server 11gクライアント→Oracle WSM 11g Webサービス

次の表で説明されているように、ポリシーを添付および構成します。

表16-30 メッセージ保護(WS-Security 1.1)を使用するSAMLトークン(送信者保証): Oracle WebLogic Server 11gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss11_saml_token_with_message_protection_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle WebLogic Server 11g

次の手順を実行します。

  1. clientgenを使用してWebサービス(前述)のクライアント・プロキシを作成します。

    詳細は、『Oracle Fusion Middleware Getting Started With JAX-WS Web Services for Oracle WebLogic Server』のclientgen Antタスクを使用してクライアント・アーティファクトを生成する手順に関する項を参照してください。

  2. 次のポリシーを添付します。

    - Wssp1.2-2007-Saml1.1-SenderVouches-Wss1.1-Basic128.xml

    - Wssp1.2-2007-SignBody.xml

    - Wssp1.2-2007-EncryptBody.xml

  3. 次のように、Wssp1.2-2007-Saml1.1-SenderVouches-Wss1.1-Basic128.xmlポリシーを編集して<sp:ProtectTokens/>を追加します。

    <sp:SymmetricBinding>
       <wsp:Policy>
          <sp:ProtectTokens/>
          ...
    
  4. 『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』のメッセージ保護されているWebサービスを起動するためにクライアント・アプリケーションを更新する手順に関する項で説明されているように、サーバー(暗号化キー)およびクライアント証明書をクライアントに構成します。

    指定した暗号化キーがWebサービスで構成した復号化キーと一致していることを確認します。

  5. Basic認証を使用してWebアプリケーション・クライアントを保護します。詳細は、『Oracle Fusion Middleware Programming Security for Oracle WebLogic Server』のBasic認証Webアプリケーションの開発に関する項を参照してください。

  6. Webサービス・クライアントをデプロイします。

    「Webサービス・アプリケーションのデプロイ」を参照してください。

  7. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプの資格証明マッピング・プロバイダの構成に関する項で説明されているように、SAML資格証明マッピング・プロバイダを構成します。

    WebLogic Server管理コンソールで、「セキュリティ・レルム」→「レルム名」→「プロバイダ」→「資格証明マッピング」ページに移動し、SAMLCredentialMapperV2タイプの新しい資格証明マッピング・プロバイダを作成します。

    新しいプロバイダを選択して「プロバイダ固有」をクリックし、次のように構成します。

    - 「発行者URI」をwww.oracle.comに設定します。

    - 「名前修飾子」をwww.oracle.comに設定します。

  8. WebLogic Serverを再起動します。

  9. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSAML 1.1リライイング・パーティの作成に関する項およびSAML 1.1リライイング・パーティの構成に関する項で説明されているように、SAMLリライイング・パーティを作成します。

    「プロファイル」をWSS/Sender-Vouchesに設定します。

  10. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSAML 1.1リライイング・パーティの構成に関する項で説明されているように、SAMLリライイング・パーティを構成します。

    「ターゲットURL」に、クライアントのWebサービスで使用しているURLが設定されていることを確認します。

  11. Webアプリケーション・クライアントを起動します。

    SAMLトークンを使用してIDが伝播されるユーザーの資格証明を入力します。


Oracle WSM 11gクライアント→Oracle WebLogic Server 11g Webサービス

次の表で説明されているように、ポリシーを添付および構成します。

表16-31 メッセージ保護(WS-Security 1.1)を使用するSAMLトークン(送信者保証): Oracle WSM 11gクライアント→Oracle WebLogic Server 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WebLogic Server 11g

次の手順を実行します。

  1. 次のポリシーを添付します。

    - Wssp1.2-2007-Saml1.1-SenderVouches-Wss1.1-Basic128.xml

    - Wssp1.2-2007-SignBody.xml

    - Wssp1.2-2007-EncryptBody.xml

    詳細は、『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』の@Policyと@Policies注釈付きのJWSファイルを更新する手順に関する項を参照してください。

  2. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのIDと信頼の構成に関する項で説明されているように、IDと信頼ストアを構成します。

  3. 次で説明されているように、メッセージ・レベルのセキュリティを構成します。

    - 『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』のメッセージ・レベルのセキュリティの構成に関する項

    - Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのWebサービス・セキュリティの構成の作成に関する項。

    これはWS-Security 1.1ポリシーであるため、機密保護キー以外は構成する必要がありません。

  4. Webサービスをデプロイします。

    『Oracle Fusion Middleware Deploying Applications to Oracle WebLogic Server』を参照してください。

  5. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプの認証およびアイデンティティ・アサーション・プロバイダの構成に関する項で説明されているように、SAMLIdentityAsserterV2認証プロバイダを作成します。

    WebLogic Server管理コンソールで、「セキュリティ・レルム」→「レルム名」→「プロバイダ」→「資格証明マッピング」ページに移動し、SAMLCredentialMapperV2タイプの新しい資格証明マッピング・プロバイダを作成します。

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

  7. 手順5で作成した認証プロバイダを選択します。

  8. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSAML 1.1アサーティング・パーティの作成に関する項で説明されているように、SAMLアサーティング・パーティを作成します。

    「プロファイル」をWSS/Sender-Vouchesに設定します。

  9. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSAML 1.1アサーティング・パーティの構成に関する項で説明されているように、SAMLアサーティング・パーティを構成します。

    次のようにSAMLアサーティング・パーティを構成します。

    - 「発行者URI」をwww.oracle.comに設定します。

    - 「ターゲットURL」を<url_used_to_access_Web_service>に設定します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. Webサービス(前述)のクライアント・プロキシを作成します。

  2. oracle/wss11_saml_token_with_message_protection_client_policyポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  3. 「oracle/wss11_saml_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  4. クライアント構成でkeystore.recipient.aliasを指定します。

    keystore.recipient.aliasがWebサービスで指定した復号化キーと同じであることを確認します。

  5. クライアントで指定したkeystore.recipient.aliasキーが、Webサービスで構成した信頼ストアに信頼できる証明書のエントリとして存在していることを確認します。

  6. クライアント構成で、SAMLトークンを使用してIDを伝播する必要のある有効なユーザー名を入力します。

  7. Webアプリケーション・クライアントを起動します。

    SAMLトークンを使用してIDが伝播されるユーザーの資格証明を入力します。


メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証)

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠する送信者保証を使用したSAMLトークンを実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle WebLogic Server 11gのWebサービス・ポリシーがWebサービス・クライアントに添付されている。

  • Oracle WebLogic Server 11gのWebサービス・ポリシーがWebサービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

Oracle WSM 11gポリシーを構成および添付する方法の詳細は、「ポリシーの構成」および「Webサービスへのポリシーの添付」を参照してください。


注意:

WS-Security 1.0ポリシーは、従来のアプリケーションでのみサポートされます。パフォーマンスを最大限発揮するには、WS-Security 1.1ポリシーを使用します。詳細は、「メッセージ保護(WS-Security 1.1)を使用するSAMLトークン(送信者保証)」を参照してください。

Oracle WebLogic Server 11gクライアント→Oracle WSM 11g Webサービス

次の表で説明されているように、ポリシーを添付および構成します。

表16-32 メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証): Oracle WebLogic Server 11gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss10_saml_token_with_message_protection_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle WebLogic Server 11g

次の手順を実行します。

  1. clientgenを使用してWebサービス(前述)のクライアント・プロキシを作成します。

    詳細は、『Oracle Fusion Middleware Getting Started With JAX-WS Web Services for Oracle WebLogic Server』のclientgen Antタスクを使用してクライアント・アーティファクトを生成する手順に関する項を参照してください。

  2. 次のポリシーを添付します。

    - Wssp1.2-wss10_saml_token_with_message_protection_owsm_policy.xml

    - Wssp1.2-2007-SignBody.xml

    - Wssp1.2-2007-EncryptBody.xml

  3. 『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』のメッセージ保護されているWebサービスを起動するためにクライアント・アプリケーションを更新する手順に関する項で説明されているように、サーバー(暗号化キー)およびクライアント証明書をクライアントに構成します。

    指定した暗号化キーがWebサービスで構成した復号化キーと一致していることを確認します。

  4. Basic認証を使用してWebアプリケーション・クライアントを保護します。詳細は、『Oracle Fusion Middleware Programming Security for Oracle WebLogic Server』のBasic認証Webアプリケーションの開発に関する項を参照してください。

  5. Webサービス・クライアントをデプロイします。

    「Webサービス・アプリケーションのデプロイ」を参照してください。

  6. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプの資格証明マッピング・プロバイダの構成に関する項で説明されているように、SAML資格証明マッピング・プロバイダを構成します。

    WebLogic Server管理コンソールで、「セキュリティ・レルム」→「レルム名」→「プロバイダ」→「資格証明マッピング」ページに移動し、SAMLCredentialMapperV2タイプの新しい資格証明マッピング・プロバイダを作成します。

  7. SAMLCredentialMapperV2を選択して「プロバイダ固有」をクリックし、次のように構成します。

    - 「発行者URI」をwww.oracle.comに設定します。

    - 「名前修飾子」をwww.oracle.comに設定します。

  8. WebLogic Serverを再起動します。

  9. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSAML 1.1リライイング・パーティの作成に関する項で説明されているように、SAMLリライイング・パーティを作成します。

    「プロファイル」をWSS/Sender-Vouchesに設定します。

  10. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSAML 1.1リライイング・パーティの構成に関する項で説明されているように、SAMLリライイング・パーティを構成します。

    「ターゲットURL」に、クライアントのWebサービスで使用しているURLが設定されていることを確認します。

  11. Webアプリケーション・クライアントを起動して、適切な資格証明を入力します。


Oracle WSM 11gクライアント→Oracle WebLogic Server 11g Webサービス

次の表で説明されているように、ポリシーを添付および構成します。

表16-33 メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証): Oracle WSM 11gクライアント→Oracle WebLogic Server 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WebLogic Server 11g

次の手順を実行します。

  1. 次のポリシーを添付します。

    - Wssp1.2-wss10_saml_token_with_message_protection_owsm_policy.xml

    - Wssp1.2-2007-SignBody.xml

    - Wssp1.2-2007-EncryptBody.xml

    詳細は、『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』の@Policyと@Policies注釈付きのJWSファイルを更新する手順に関する項を参照してください。

  2. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのIDと信頼の構成に関する項で説明されているように、IDと信頼ストアを構成します。

  3. 次で説明されているように、メッセージ・レベルのセキュリティを構成します。

    - 『Oracle Fusion Middleware Securing WebLogic Web Services for Oracle WebLogic Server』のメッセージ・レベルのセキュリティの構成に関する項

    - Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのWebサービス・セキュリティの構成の作成に関する項。

    これはWS-Security 1.1ポリシーであるため、機密保護キー以外は構成する必要がありません。

  4. Webサービスをデプロイします。

    『Oracle Fusion Middleware Deploying Applications to Oracle WebLogic Server』を参照してください。

  5. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプの認証およびアイデンティティ・アサーション・プロバイダの構成に関する項で説明されているように、SAMLIdentityAsserterV2認証プロバイダを作成します。

    WebLogic Server管理コンソールで、「セキュリティ・レルム」→「レルム名」→「プロバイダ」→「資格証明マッピング」ページに移動し、SAMLCredentialMapperV2タイプの新しい資格証明マッピング・プロバイダを作成します。

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

  7. 手順5で作成した認証プロバイダを選択します。

  8. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSAML 1.1アサーティング・パーティの作成に関する項で説明されているように、SAMLアサーティング・パーティを作成します。

    - 「プロファイル」をWSS/Sender-Vouchesに設定します。

  9. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSAML 1.1アサーティング・パーティの構成に関する項で説明されているように、SAMLアサーティング・パーティを構成します。

    次のようにSAMLアサーティング・パーティを構成します(その他の値はデフォルト設定のままにします)。

    - 「発行者URI」をwww.oracle.comに設定します。

    - 「ターゲットURL」を<url_used_by_client>に設定します。

クライアント: Oracle WSM 11g

次の手順を実行します。

  1. Webサービス(前述)のクライアント・プロキシを作成します。

  2. oracle/wss10_saml_token_with_message_protection_client_policyポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  3. 「oracle/wss10_saml_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  4. クライアント(署名および復号化キー)とキーストアの受信者の別名(暗号化に使用するサーバーの公開鍵)で異なるキーを使用していることを確認します。受信者の別名がWebサービス・ポリシーのセキュリティ構成で定義したキーと一致していることを確認します。

  5. クライアントで指定した署名および暗号化キーが、Webサービスで構成した信頼ストアに信頼できる証明書のエントリとして存在していることを確認します。

  6. クライアント構成で、SAMLトークンを使用してIDを伝播する必要のある有効なユーザー名を入力します。

  7. Webサービス・メソッドを起動します。


Microsoft WCF/.NET 3.5のセキュリティ環境との相互運用性

オラクル社はMicrosoft社と共同で相互運用性テストを実施し、Oracle WSM 11gを使用して作成したWebサービス・セキュリティ・ポリシーが、Microsoft Windows Communication Foundation(WCF)/.NET 3.5 Frameworkを使用して構成されたWebサービス・ポリシーと相互運用できることを確認しています。

Microsoft WCF/.NET 3.5 Frameworkの詳細は、http://msdn.microsoft.com/en-us/netframework/aa663324.aspxを参照してください。

Oracle WSM 11gの事前定義済ポリシーの詳細は、次の項を参照してください。

次の項では、認証、メッセージ保護およびトランスポートのセキュリティ要件に基づいて、Microsoft .NET 3.5の相互運用性の最も一般的なシナリオを説明します。

メッセージ保護(WS-Security 1.1)を使用するユーザー名トークン

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.1標準に準拠するメッセージ保護を使用したユーザー名トークンを実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Microsoft WCF/.NET 3.5のポリシーがWebサービス・クライアント用に構成されている。

  • Microsoft WCF/.NET 3.5ポリシーがWebサービス用に構成され、Oracle WSM 11gポリシーがWebサービス・クライアントに添付されている。

Microsoft WCF/.NET 3.5クライアント→Oracle WSM 11g Webサービス

次の項で説明されている手順を実行してください。

表16-34 メッセージ保護(WS-Security 1.1)を使用するユーザー名トークン: Microsoft WCF/.NET 3.5クライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の手順を実行します。

  1. oracle/wss11_username_token_with_message_protection_service_policyポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

  2. 次のコマンドを使用して、サービス側のキーストアから.cerファイルにX.509証明書ファイルをエクスポートします。

    keytool -export -alias oraenc -file C:\dpcertfile.cer -keystore default-keystore.jks
    

クライアント: Microsoft WCF/.NET 3.5

次の手順を実行します。

  1. Microsoft Management Console(mmc)を使用して、クライアント・サーバーのキーストアに証明書ファイル(事前にエクスポート済)をインポートします。詳細は、http://msdn.microsoft.com/en-us/library/ms788967.aspxの「How to: View Certificates with the MMC Snap-in」を参照してください。

    a. コマンド・プロンプトを開きます。

    b. mmcと入力して、[Enter]を押します。

    ローカル・マシンに格納されている証明書を表示するには、ユーザーは管理者ロールである必要があります。

    c. 「ファイル」「スナップインの追加と削除」を選択します。

    d. 「追加」を選択して、「証明書」を選択します。

    e. 「追加」を選択します。

    f. 「ユーザー アカウント」を選択して「完了」を選択します。

    g. 「OK」をクリックします。

    h.「コンソール ルート」→「証明書 - 現在のユーザー」→「個人」→「証明書」を開きます。

    i. 「証明書」を右クリックし、「すべてのタスク」「インポート」を選択して、証明書のインポート・ウィザードを起動します。

    j. 「次へ」をクリックし、「参照」を選択して、事前にエクスポートしてある.cerファイルに移動します。

    「次へ」をクリックし、デフォルトをそのまま使用して、ウィザードを終了します。

  2. WebサービスのWSDLを使用して、.NETクライアントを生成します。

    詳細は、http://msdn.microsoft.com/en-us/library/ms733133.aspxの「How to: Create a Windows Communication Foundation Client」を参照してください。

  3. クライアント・プロジェクトのソリューション・エクスプローラで「参照設定」を右クリックして「参照の追加」を選択し、C:\Windows\Microsoft .NET framework\v3.0\Windows Communication Framework\System.Runtime.Serilaization.dllを参照して、参照を追加します。

  4. .NETプロジェクト内のapp.configファイルを編集し、証明書ファイルを更新してリプレイを無効にします。「app.configファイルの編集」を参照してください。

  5. プロジェクトをコンパイルします。

  6. コマンド・プロンプトを開き、プロジェクトのDebugフォルダにディレクトリを変更します。

  7. <client_project_name>.exeと入力して、[Enter]を押します。


app.configファイルの編集

次の例のように、app.configファイルを編集し、証明書ファイルを更新してリプレイを無効にします(変更部分は太字で示されています)。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
         <behavior name="secureBehaviour">
           <clientCredentials>
             <serviceCertificate>
               <defaultCertificate findValue="<certificate_cn>"
                storeLocation="CurrentUser" storeName="My" 
                x509FindType="FindBySubjectName"/>
             </serviceCertificate>
           </clientCredentials>
         </behavior>
      </endpointBehaviors>
    </behaviors>
  <bindings>
    <customBinding>
      <binding name="HelloWorldSoapHttp">
      <security defaultAlgorithmSuite="Basic128"
       authenticationMode="UserNameForCertificate"
       requireDerivedKeys="false" securityHeaderLayout="Lax"
       includeTimestamp="true"
       keyEntropyMode="CombinedEntropy"
       messageProtectionOrder="SignBeforeEncrypt"
       messageSecurityVersion=
"WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
       requireSignatureConfirmation="true">
     <localClientSettings
       cacheCookies="true"
       detectReplays="false"
       replayCacheSize="900000"
       maxClockSkew="00:05:00"
       maxCookieCachingTime="Infinite"
       replayWindow="00:05:00"
       sessionKeyRenewalInterval="10:00:00"
       sessionKeyRolloverInterval="00:05:00"
       reconnectTransportOnFailure="true"
       timestampValidityDuration="00:05:00"
       cookieRenewalThresholdPercentage="60" />
     <localServiceSettings detectReplays="true"
       issuedCookieLifetime="10:00:00"
       maxStatefulNegotiations="128"
       replayCacheSize="900000"
       maxClockSkew="00:05:00"
       negotiationTimeout="00:01:00"
       replayWindow="00:05:00"
       inactivityTimeout="00:02:00"
       sessionKeyRenewalInterval="15:00:00"
       sessionKeyRolloverInterval="00:05:00"
       reconnectTransportOnFailure="true"
       maxPendingSessions="128"
       maxCachedCookies="1000"
       timestampValidityDuration="00:05:00" />
     <secureConversationBootstrap /></security>
     <textMessageEncoding
      maxReadPoolSize="64"
      maxWritePoolSize="16"
      messageVersion="Soap11"
      writeEncoding="utf-8">
        <readerQuotas
         maxDepth="32"
         maxStringContentLength="8192"
         maxArrayLength="16384"
         maxBytesPerRead="4096"
         maxNameTableCharCount="16384" />
     </textMessageEncoding>
     <HttpTransport
      manualAddressing="false"
      maxBufferPoolSize="524288"
      maxReceivedMessageSize="65536"
      allowCookies="false"
      authenticationScheme="Anonymous"
      bypassProxyOnLocal="false"
      hostNameComparisonMode="StrongWildcard"
      keepAliveEnabled="true"
      maxBufferSize="65536"
      proxyAuthenticationScheme="Anonymous"
      realm=""
      transferMode="Buffered"
      unsafeConnectionNtlmAuthentication="false"
      useDefaultWebProxy="true" />
      </binding>
    </customBinding>
  </bindings>
    <client>
      <endpoint address="<endpoint_url>"
       binding="customBinding"
       bindingConfiguration="<mywebservice>SoapHttp"
       contract="<mywebservice>" 
       name="<mywebservice>Port"
       behaviorConfiguration="secureBehaviour" >
        <identity>
          <dns value="<certificate_cn>"/>
        </identity>
      </endpoint>
    </client>
  </system.serviceModel>
</configuration>

Oracle WSM 11gクライアント→Microsoft WCF/.NET 3.5 Webサービス

次の表で説明される手順を実行してください。

表16-35 メッセージ保護(WS-Security 1.1)を使用するユーザー名トークン: Oracle WSM 11gクライアント→Microsoft WCF/.NET 3.5 Webサービス

Webサービス/クライアント 手順

Webサービス: Microsoft WCF/.NET 3.5 Webサービス

次の手順を実行します。

  1. .NETサービスを生成します。

    詳細は、http://msdn.microsoft.com/en-us/library/ms731835.aspxの「How to: Define a Windows Communication Foundation Service Contract」を参照してください。

  2. SymmetricSecurityBindingElementを使用して、Webサービスのカスタム・バインディングを作成します。設定は次のように表示されます。

    SymmetricSecurityBindingElement sm = 
    SymmetricSecurityBindingElement.CreateUserNameForCertificateBindingE
    lement();
    sm.DefaultAlgorithmSuite = 
    System.ServiceModel.Security.SecurityAlgorithmSuite.Basic128;
    sm.SetKeyDerivation(false);
    sm.SecurityHeaderLayout = SecurityHeaderLayout.Lax;
    sm.IncludeTimestamp = true;
    sm.KeyEntropyMode = SecurityKeyEntropyMode.CombinedEntropy;
    sm.MessageProtectionOrder = 
    MessageProtectionOrder.SignBeforeEncrypt;
    sm.MessageSecurityVersion = 
    MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConver
    sationFebruary2005WSSecurityPolicy11BasicSecurityProfile10;
    sm.RequireSignatureConfirmation = true;
    

    詳細は、http://msdn.microsoft.com/en-us/library/ms730305.aspxの「How to: Create a Custom Binding Using the SecurityBindingElement」を参照してください。

  3. 証明書ファイルを作成し、Webサービス・サーバーのキーストアにインポートします。VisualStudioを使用する場合、コマンドは次のようになります。

    makecert -r -pe -n "CN=WSMCert" -sky exchange -ss my C:\WSMCert.cer
    

    このコマンドを実行すると、証明書が作成され、mmcにインポートされます。

クライアント: Oracle WSM 11gクライアント

次の手順を実行します。

  1. Webサービス・サーバーで作成された証明書を、keytoolコマンドを使用してクライアント・サーバーにインポートします。たとえば、次のような用途があります。

    keytool -import -alias WSMCert -file C:\WSMCert.cer -keystore <owsm_client_keystore>
    
  2. ソリューション・エクスプローラでWebサービスのソリューション・プロジェクトを右クリックして、「エクスプローラでフォルダを開く」をクリックします。

  3. bin/Debugフォルダに移動します。

  4. <project>.exeファイルをダブルクリックします。表示されるURLでWebサービスが実行されます。

  5. WebサービスのWSDLを使用して、Webサービス(前述)用のクライアント・プロキシを作成します。

  6. oracle/wss11_username_token_with_message_protection_client_policyポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。

  7. 「oracle/wss11_username_token_with_message_protection_client_policy」の説明に従ってポリシーを構成します。

  8. 署名と暗号化キーの構成を入力します。

    手順1でインポートした証明書の別名として、keystore.recipient.aliasが構成されていることを確認します。


Oracle Service Bus 10gのセキュリティ環境との相互運用性

Oracle Service Bus 10gでは、ポリシーを添付して、インバウンド・リクエストとアウトバウンド・リクエストのセキュリティ環境を構成します。Oracle Service Busでは、そのセキュリティ・サービスのビルディング・ブロックとして、基礎となるWebLogicセキュリティ・フレームワークが使用されます。ポリシーの構成および添付の詳細は、『Oracle Service Bus Security Guide』のOracle Service Bus ProxyおよびBusiness ServicesでのWS-Policyの使用に関する項(http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.html)を参照してください。


注意:

Oracle Service Bus 10.3用にリリースされているすべてのパッチがダウンロードされ、パッチ・ツールを使用して適用されていることを確認してください。

Oracle WSM 11gでは、Webサービス・エンドポイントにポリシーを添付します。ドメインレベルで定義される各ポリシーは、セキュリティ要件を定義する1つ以上のアサーションで構成されます。すぐに使用できる事前定義済のポリシーとアサーションのセットが用意されています。事前定義済ポリシーの詳細は、「事前定義済ポリシー」を参照してください。ポリシーの構成および添付の詳細は、「ポリシーの構成」および「Webサービスへのポリシーの添付」を参照してください。

次の項では、認証、メッセージ保護およびトランスポートのセキュリティ要件に基づいて、Oracle Service Bus 10gの相互運用性の最も一般的なシナリオを説明します。


注意:

次のシナリオでは、v3証明書を含むキーストアを必ず使用してください。デフォルトでは、JDK 1.5 keytoolによってv3証明書を含むキーストアが生成されます。

また、各キーでは適切な拡張子を使用してください(DigitalSignature、Non_repudiation、Key_EnciphermentおよびData_Enciphermentを含む)。


メッセージ保護(WS-Security 1.0)を使用するユーザー名トークン

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用したユーザー名トークンを実装する方法を説明します。

  • Oracle WSM 11gのポリシーがWebサービスに添付され、Oracle Service Bus 10gのポリシーがルーティング・サービス・クライアントに添付されている。

  • Oracle Service Bus 10gのポリシーがルーティング・サービスに添付され、Oracle WSM 11gのポリシーがWebサービス・クライアントに添付されている。

詳細は、次の項目を参照してください。

相互運用性の構成の前提条件

Oracle Service Busが実行されているWebLogic Serverに対して、次の前提条件の手順を実行します。

  1. default-keystore.jksファイルとtrust.jksファイルをドメイン・ディレクトリにコピーします。

    default-keystore.jksファイルは、WebLogicドメイン内のSOAPメッセージの公開鍵と秘密鍵を格納するために使用されます。trust.jksファイルは、WebLogic Server環境においてアイデンティティと信頼を確立し、検証するために使用される秘密鍵、デジタル証明書、および信頼できる認証局の証明書を格納するために使用されます。

  2. 「Oracle WebLogic管理コンソールへのアクセス」を参照して、WebLogic管理コンソールを起動します。

  3. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのキーストアの構成に関する項で説明されているように、カスタムIDとカスタム信頼キーストアを構成します。

  4. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSSLの設定に関する項で説明されているように、SSLを構成します。

    必要に応じて、秘密鍵の別名を指定します。例: oratest

  5. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプの資格証明マッピング・プロバイダの構成に関する項で説明されているように、資格証明マッピング・プロバイダを構成します。

    PKICredentialMapperを作成し、次のように構成します(その他の値はデフォルト設定のままにします)。

    • キーストア・プロバイダ: N/A

    • キーストアのタイプ: jks

    • キーストア・ファイル名: default_keystore.jks

    • キーストアのパスフレーズ: <パスワード>

    • キーストアのパスフレーズを確認: <パスワード>

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

  7. OSBコンソールを起動します。たとえば、次のような用途があります。

    http://localhost:7001/sbconsole
    
  8. ServiceKeyProviderを作成します。

  9. 必要に応じて、暗号化キーとデジタル署名キーを指定します。

    Oracle WSMサーバーとOracle Service Busサーバーには異なるキーを使用する必要があります。必要に応じて、暗号化と署名には同じキーを使用できます。

Oracle Service Bus 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-36 メッセージ保護(WS-Security 1.0)を使用するユーザー名トークン: Oracle Service Bus 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の項で説明されている手順を実行してください。

  1. wss10_username_token_with_message_protection_service_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「暗号化キー参照メカニズム」をissuerserialに設定します。

    b. 「アルゴリズム・スイート」をBasic128Rsa15に設定して、Oracle Service Busで使用されるアルゴリズム・スイートと一致させます。

    c. 「タイムスタンプを含める」構成設定を有効にします。

    d. ユーザー名トークン要素のみに対して「暗号化済」をfalseに設定します。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  2. ポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle Service Bus 10g

次の手順を実行します。

  1. Encrypt.xmlポリシー・ファイルとSign.xmlポリシー・ファイルのコピーを作成します。

    たとえば、それぞれのファイルをmyEncrypt.xmlとmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

  2. 次のように、myEncrypt.xmlファイルの暗号化アルゴリズムを編集して、暗号化の準拠が失敗しないようにします。

    <wssp:Target>
       <wssp:EncryptionAlgorithm
         URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
       <wssp:MessageParts
         Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
          wsp:Body()
       </wssp:MessageParts>
    </wssp:Target>
    
  3. Oracle Service Busビジネス・サービスのリクエストのみに添付されているmySign.xmlポリシー・ファイルを編集し、次のターゲットを含めてユーザー名トークンに署名します。

    <wssp:Target>
       <wssp:DigestAlgorithm URI=
        "http://www.w3.org/2000/09/xmldsig#sha1" />
       <wssp:MessageParts Dialect=
        "http://www.bea.com/wls90/security/policy/wsee#part">
          wls:SecurityHeader(wsse:UsernameToken)
       </wssp:MessageParts>
    </wssp:Target>
    
  4. Oracle Service Busビジネス・サービスのレスポンスのみに添付されているmySign.xmlポリシー・ファイルを編集し、セキュリティ・トークンが無署名であることを指定します。

    <wssp:Integrity SignToken="false">
    

    また、SOAクライアントの場合のみ、次のようにシステム・ヘッダーのターゲットをコメントアウトします。

    <!-- wssp:Target>
      <wssp:DigestAlgorithm
       URI="http://www.w3.org/2000/09/xmldsig#sha1" />
      <wssp:MessageParts
       Dialect="http://www.bea.com/wls90/security/policy/wsee#part">
       wls:SystemHeaders()
      </wssp:MessageParts>
    </wssp:Target -->
    

Oracle WSM 11gクライアント→Oracle Service Bus 10g Webサービス

次の表で説明される手順を実行してください。

表16-37 メッセージ保護(WS-Security 1.0)を使用するユーザー名トークン: Oracle WSM 11gクライアント→Oracle Service Bus 10g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle Service Bus 10g

次の手順を実行します。

  1. Encrypt.xmlポリシー・ファイルとSign.xmlポリシー・ファイルのコピーを作成します。

    たとえば、それぞれのファイルをmyEncrypt.xmlとmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

  2. 次のように、myEncrypt.xmlファイルの暗号化アルゴリズムを編集して、暗号化の準拠が失敗しないようにします。

    <wssp:Target>
       <wssp:EncryptionAlgorithm
         URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
       <wssp:MessageParts
         Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
          wsp:Body()
       </wssp:MessageParts>
    </wssp:Target>
    
  3. プロキシ・サービスのリクエストのみに添付されているSign.xmlポリシー・ファイルを編集し、セキュリティ・トークンが無署名であることを指定します。

    <wssp:Integrity SignToken="false">
    

    また、SOAクライアントの場合のみ、次のようにシステム・ヘッダーのターゲットをコメントアウトします。

    <!-- wssp:Target>
      <wssp:DigestAlgorithm
       URI="http://www.w3.org/2000/09/xmldsig#sha1" />
      <wssp:MessageParts
       Dialect="http://www.bea.com/wls90/security/policy/wsee#part">
       wls:SystemHeaders()
      </wssp:MessageParts>
    </wssp:Target -->
    

クライアント: Oracle WSM 11gクライアント

次の項で説明されている手順を実行してください。

  1. wss10_username_token_with_message_protection_client_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「暗号化キー参照メカニズム」をissuerserialに設定します。

    b. 「受信者暗号化キー参照メカニズム」をissuerserialに設定します。

    c. 「アルゴリズム・スイート」をBasic128Rsa15に設定して、Oracle Service Busで使用されるアルゴリズム・スイートと一致させます。

    d. 「タイムスタンプを含める」の構成設定を無効にします。

    e. 「暗号化済」をfalseに設定します。

    f. メッセージの署名および暗号化の構成設定はデフォルトのままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  2. ポリシーをWebサービス・クライアントに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。


メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証)

次の項では、次の相互運用性シナリオを使用して、WS-Security 1.0標準に準拠するメッセージ保護を使用したSAMLトークン(送信者保証)を実装する方法を説明します。

  • Oracle Service Bus 10gのポリシーがルーティング・サービス・クライアントに添付され、Oracle WSM 11gのポリシーがWebサービスに添付されている。

  • Oracle WSM 11gのポリシーがWebサービス・クライアントに添付され、Oracle Service Bus 10gのポリシーがルーティング・サービスに添付されている。

詳細は、次の項目を参照してください。

相互運用性の構成の前提条件

Oracle Service Busが実行されているWebLogic Serverに対して、次の前提条件の手順を実行します。

  1. default-keystore.jksファイルとtrust.jksファイルをドメイン・ディレクトリにコピーします。

    default-keystore.jksファイルは、WebLogicドメイン内のSOAPメッセージの公開鍵と秘密鍵を格納するために使用されます。trust.jksファイルは、WebLogic Server環境においてアイデンティティと信頼を確立し、検証するために使用される秘密鍵、デジタル証明書、および信頼できる認証局の証明書を格納するために使用されます。

  2. 「Oracle WebLogic管理コンソールへのアクセス」を参照して、WebLogic管理コンソールを起動します。

  3. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプの認証およびアイデンティティ・アサーション・プロバイダの構成に関する項で説明されているように、SAMLIdentityAsserterV2認証プロバイダを作成します。

  4. WebLogic Serverを再起動して、管理サーバーのランタイムMBeanサーバーに新しいプロバイダを追加します。

  5. 手順3で作成した認証プロバイダを選択します。

  6. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSAML Identity Asserter V2のアサーティング・パーティの作成に関する項およびSAML Identity Asserter V2のアサーティング・パーティの構成に関する項で説明されているように、SAMLアサーティング・パーティを作成して構成します。

    次のようにSAMLアサーティング・パーティを構成します(その他の値はデフォルト設定のままにします)。

    • プロファイル: WSS/Sender-Vouches

    • ターゲットURL: <OSBプロキシ・サービスURL>

    • 発行者URI: www.oracle.com

    「有効」チェック・ボックスを選択し、「保存」をクリックします。

  7. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプの資格証明マッピング・プロバイダの構成に関する項で説明されているように、SamlCredentialMapperV2資格証明マッピング・プロバイダを作成します。

    ドロップダウン・リストからSamlCredentialMapperV2を選択し、資格証明マッパーにUC2_SamlCredentialMapperV2などの名前を付けます。

  8. WebLogic Serverを再起動します。

  9. 次のように資格証明マッパーを構成します(その他の値はデフォルト設定のままにします)。

    • 発行者URI: www.oracle.com

      注意: この値はポリシー・ファイルに指定されています。

    • 名前修飾子: oracle.com

  10. Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのヘルプのSAML資格証明マッピング・プロバイダV2のリライイング・パーティの作成に関する項およびSAML資格証明マッピング・プロバイダV2のリライイング・パーティの構成に関する項で説明されているように、SAMLリライイング・パーティを作成して構成します。

    次のようにSAMLリライイング・パーティを構成します(その他の値はデフォルト設定のままにします)。

    • プロファイル: WSS/Sender-Vouches

    • ターゲットURL: <Oracle WSM 11g Webサービス>

    • 説明: <your_description>

    「有効」チェック・ボックスを選択し、「保存」をクリックします。

  11. WebLogic Serverを再起動します。

Oracle Service Bus 10gクライアント→Oracle WSM 11g Webサービス

次の表で説明される手順を実行してください。

表16-38 メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証): Oracle Service Bus 10gクライアント→Oracle WSM 11g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle WSM 11g

次の項で説明されている手順を実行してください。

  1. wss10_saml_token_with_message_protection_service_policyポリシーのコピーを作成します。

    a. 「暗号化キー参照メカニズム」をissuerserialに設定します。

    b. 「アルゴリズム・スイート」をBasic128Rsa15に設定して、Oracle Service Busで使用されるアルゴリズム・スイートと一致させます。

    c. 「タイムスタンプを含める」の構成設定を無効にします。

    d. ユーザー名トークン要素のみに対して「暗号化済」をfalseに設定します。

    e. メッセージの署名および暗号化の構成設定はデフォルトのままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  2. ポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービスへのポリシーの添付」を参照してください。

クライアント: Oracle Service Bus 10g

次の手順を実行します。

  1. Encrypt.xmlポリシー・ファイルとSign.xmlポリシー・ファイルのコピーを作成します。

    たとえば、それぞれのファイルをmyEncrypt.xmlとmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

  2. 次のように、myEncrypt.xmlファイルの暗号化アルゴリズムを編集して、暗号化の準拠が失敗しないようにします。

    <wssp:Target>
       <wssp:EncryptionAlgorithm
         URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
       <wssp:MessageParts
         Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
          wsp:Body()
       </wssp:MessageParts>
    </wssp:Target>
    
  3. Oracle Service Busビジネス・サービスのリクエストに添付されているmySign.xmlファイルのみを編集し、次のターゲットを含めてSAMLアサーションに署名します。

    <wssp:Target>
       <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1" />
       <wssp:MessageParts Dialect=
        "http://www.bea.com/wls90/security/policy/wsee#part">
          wls:SecurityHeader(wsse:Assertion)
       </wssp:MessageParts>
    </wssp:Target>
    
  4. 次のように、Oracle Service Busビジネス・サービスのレスポンスに添付されているmySign.xmlファイルのみを編集し、セキュリティ・トークンが無署名であることを指定します。

    <wssp:Integrity SignToken="false">
    

    また、SOAクライアントの場合のみ、次のようにシステム・ヘッダーのターゲットをコメントアウトします。

    <!-- wssp:Target>
      <wssp:DigestAlgorithm
       URI="http://www.w3.org/2000/09/xmldsig#sha1" />
      <wssp:MessageParts
       Dialect="http://www.bea.com/wls90/security/policy/wsee#part">
       wls:SystemHeaders()
      </wssp:MessageParts>
    </wssp:Target -->
    
  5. 例16-1で定義されているカスタムSAMLポリシー・ファイルを使用します。


使用するカスタムSAMLポリシーを次のように定義します。

例16-1 カスタムSAMLポリシー

<?xml version="1.0"?>
<wsp:Policy
   xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
   xmlns:wssp="http://www.bea.com/wls90/security/policy"
   xmlns:wsu="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
   xmlns:wls="http://www.bea.com/wls90/security/policy/wsee#part"
   wsu:Id="custom_saml">
   <wssp:Identity xmlns:wssp="http://www.bea.com/wls90/security/policy">
      <wssp:SupportedTokens>
         <wssp:SecurityToken
          TokenType=
"http://docs.oasis-open.org/wss/2004/01/oasis-2004-01-saml-token-profile-1.0#SAMLAssertionID">
            <wssp:Claims>
               <wssp:ConfirmationMethod>
                  sender-vouches
               </wssp:ConfirmationMethod>
            </wssp:Claims>
         </wssp:SecurityToken>
      </wssp:SupportedTokens>
   </wssp:Identity>
   </wsp:Policy>

Oracle WSM 11gクライアント→Oracle Service Bus 10g Webサービス

次の項で説明されている手順を実行してください。

表16-39 メッセージ保護(WS-Security 1.0)を使用するSAMLトークン(送信者保証): Oracle WSM 11gクライアント→Oracle Service Bus 10g Webサービス

Webサービス/クライアント 手順

Webサービス: Oracle Service Bus 10g

次の手順を実行します。

  1. Encrypt.xmlポリシー・ファイルとSign.xmlポリシー・ファイルのコピーを作成します。

    たとえば、それぞれのファイルをmyEncrypt.xmlとmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

  2. 次のように、myEncrypt.xmlポリシー・ファイルの暗号化アルゴリズムを編集して、暗号化の準拠が失敗しないようにします。

    <wssp:Target>
       <wssp:EncryptionAlgorithm
         URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
       <wssp:MessageParts
         Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
          wsp:Body()
       </wssp:MessageParts>
    </wssp:Target>
    
  3. プロキシ・サービスのリクエストのみに添付されているmySign.xmlポリシー・ファイルを編集し、セキュリティ・トークンが無署名であることを指定します。

    <wssp:Integrity SignToken="false">
    

    また、SOAクライアントの場合のみ、次のようにシステム・ヘッダーのターゲットをコメントアウトします。

    <!-- wssp:Target>
      <wssp:DigestAlgorithm
       URI="http://www.w3.org/2000/09/xmldsig#sha1" />
      <wssp:MessageParts
       Dialect="http://www.bea.com/wls90/security/policy/wsee#part">
       wls:SystemHeaders()
      </wssp:MessageParts>
    </wssp:Target -->
    
  4. 例16-1で定義されているカスタムSAMLポリシー・ファイルを使用します。

クライアント: Oracle WSM 11g

次の項で説明されている手順を実行してください。

  1. wss10_saml_token_with_message_protection_service_policyポリシーのコピーを作成します。

    注意: 使用できることがわかっている有効なポリシー・セットが常にあるように、事前定義済ポリシーは変更しないことをお薦めします。

    次のようにポリシー設定を編集します。

    a. 「暗号化キー参照メカニズム」をissuerserialに設定します。

    b. 「受信者暗号化キー参照メカニズム」をissuerserialに設定します。

    c. 「アルゴリズム・スイート」をBasic128Rsa15に設定して、Oracle Service Busで使用されるアルゴリズム・スイートと一致させます。

    d. 「タイムスタンプを含める」の構成設定を無効にします。

    e. メッセージの署名および暗号化の構成設定はデフォルトのままにします。

    詳細は、「既存のポリシーからのWebサービス・ポリシーの作成」を参照してください。

  2. ポリシーをWebサービスに添付します。

    ポリシーの添付の詳細は、「Webサービス・クライアントへのポリシーの添付」を参照してください。