Oracle® Fusion Middleware

Oracle Web Services Manager相互運用ガイド

11gリリース1 (11.1.1.7)

B61391-05(原本部品番号:E16098-07)

2013年3月

このドキュメントでは、Oracle WSMの最も一般的な相互運用性シナリオの実装方法について説明します。

Oracle Fusion Middleware Oracle Web Services Manager相互運用ガイド, 11g リリース1 (11.1.1.7)

B61391-05

Copyright © 2007, 2013, Oracle and/or its affiliates. All rights reserved.

原本著者: Oracle Corporation

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

このソフトウェアおよびドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- ドキュメントのアクセシビリティについて

- 表記規則

1 Oracle WSMの相互運用性の概要

- 1.1 Oracle WSMのポリシーについて

- 1.2 Oracle WSMの相互運用性シナリオ

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

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

- 2.2 Oracle WSM 10gのゲートウェイに関する注記

- 2.3 サード・パーティ・ソフトウェアに関する注記

- 2.4 メッセージ保護付き匿名認証(WS-Security 1.0)

- 2.4.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 2.4.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

- 2.5 メッセージ保護付きユーザー名トークン(WS-Security 1.0)

- 2.5.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 2.5.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

- 2.6 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

- 2.6.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 2.6.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

- 2.7 メッセージ保護付き相互認証(WS-Security 1.0)

- 2.7.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 2.7.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

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

- 2.8.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 2.8.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

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

- 2.9.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 2.9.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

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

- 3.1 OC4J 10gのセキュリティ環境との相互運用性の概要

- 3.2 メッセージ保護付き匿名認証(WS-Security 1.0)

- 3.2.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 3.2.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

- 3.3 メッセージ保護付きユーザー名トークン(WS-Security 1.0)

- 3.3.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 3.3.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

- 3.4 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

- 3.4.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 3.4.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

- 3.5 メッセージ保護付き相互認証(WS-Security 1.0)

- 3.5.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 3.5.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

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

- 3.6.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 3.6.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

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

- 3.7.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 3.7.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

4 Oracle WebLogic Server 11g Webサービスのセキュリティ環境との相互運用性

- 4.1 Oracle WebLogic Server 11g Webサービスのセキュリティ環境との相互運用性の概要

- 4.2 メッセージ保護付きユーザー名トークン(WS-Security 1.1)

- 4.2.1 WebLogic Webサービス・ポリシーとの相互運用

- 4.2.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

- 4.3 メッセージ保護付きユーザー名トークン(WS-Security 1.1)およびMTOM

- 4.3.1 WebLogic Webサービス・ポリシーとの相互運用

- 4.3.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

- 4.4 メッセージ保護付きユーザー名トークン(WS-Security 1.0)

- 4.4.1 WebLogic Webサービス・ポリシーとの相互運用性

- 4.4.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用性

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

- 4.5.1 WebLogic Webサービス・クライアント・ポリシーとの相互運用

- 4.6 MTOMを使用するSSL経由のユーザー名トークン

- 4.6.1 WebLogic Webサービス・クライアント・ポリシーとの相互運用

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

- 4.7.1 WebLogic Webサービス・クライアント・ポリシーとの相互運用

- 4.8 MTOMを使用するSSL経由のSAMLトークン(送信者保証)

- 4.8.1 WebLogic Webサービス・クライアント・ポリシーとの相互運用

- 4.9 メッセージ保護付きSAML 2.0トークン(送信者保証)(WS-Security 1.1)

- 4.9.1 WebLogic Webサービス・ポリシーとの相互運用

- 4.9.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

- 4.10 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)

- 4.10.1 WebLogic Webサービス・ポリシーとの相互運用

- 4.10.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

- 4.11 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)

- 4.11.1 WebLogic Webサービス・ポリシーとの相互運用

- 4.11.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

- 4.12 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

- 4.12.1 WebLogic Webサービス・ポリシーとの相互運用

- 4.12.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

- 4.13 メッセージ保護付き相互認証(WS-Security 1.0)

- 4.13.1 WebLogic Webサービス・ポリシーとの相互運用

- 4.13.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

- 4.14 メッセージ保護付き相互認証(WS-Security 1.1)

- 4.14.1 WebLogic Webサービス・ポリシーとの相互運用

- 4.14.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

5 Microsoft WCF/.NET 3.5のセキュリティ環境との相互運用性

- 5.1 Microsoft WCF/.NET 3.5のセキュリティ環境との相互運用性の概要

- 5.2 メッセージ送信最適化メカニズム(MTOM)

- 5.2.1 Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成

- 5.2.2 Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスの構成

- 5.3 メッセージ保護付きユーザー名トークン(WS-Security 1.1)

- 5.3.1 Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成

- 5.3.2 Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスの構成

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

- 5.4.1 Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成

- 5.5 メッセージ保護付き相互認証(WS-Security 1.1)

- 5.5.1 Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成

- 5.5.2 Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスの構成

- 5.6 メッセージ保護付きKerberos

- 5.6.1 相互運用性のための構成の前提条件

- 5.6.2 Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成

- 5.7 Microsoft Active Directory Federation Services 2.0 (ADFS 2.0) STSを使用するWCF/.NET 3.5クライアント

- 5.7.1 Active Directory Federation Services (ADFS) 2.0のインストールおよび構成

- 5.7.2 信頼できるSAMLトークン発行者としてのADFS 2.0 STSの構成

- 5.7.3 Oracle Internet Directoryのユーザーの構成

- 5.7.4 ポリシーのアタッチ

- 5.7.5 ADFS 2.0のリライイング・パーティとしてのWebサービスの登録

- 5.7.6 ADFS 2.0を使用するWCF/.NET 3.5クライアントの保護

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

- 6.1Oracle Service Bus 10gのセキュリティ環境との相互運用性の概要

- 6.2 メッセージ保護付きユーザー名トークン(WS-Security 1.0)

- 6.2.1 Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 6.2.2 Oracle WSM 11gクライアントおよびOracle Service Bus 10g Webサービスの構成

- 6.3 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

- 6.3.1 Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 6.3.2 Oracle WSM 11gクライアントおよびOracle Service Bus 10g Webサービスの構成

- 6.4 SSL経由のSAMLトークンまたはユーザー名トークン

- 6.4.1 Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 6.5 メッセージ保護付き相互認証(WS-Security 1.0)

- 6.5.1 Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成

- 6.5.2 Oracle WSM 11gクライアントおよびOracle Service Bus 10g Webサービスの構成

7 Axis 1.4およびWSS4J 1.5.8のセキュリティ環境との相互運用性

- 7.1 Axis 1.4およびWSS4J 1.5.8のセキュリティ環境との相互運用性の概要

- 7.2 AxisおよびWSS4Jとの相互運用に必要なファイル

- 7.3 メッセージ保護付きユーザー名トークン(WS-Security 1.0)

- 7.3.1 Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成

- 7.3.2 Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成

- 7.4 メッセージ保護付きSAMLトークン(WS-Security 1.0)

- 7.4.1 Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成

- 7.4.2 Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成

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

- 7.5.1 Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成

- 7.5.2 Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成

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

- 7.6.1 Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成

- 7.6.2 Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成

8 Oracle GlassFish Enterprise Serverリリース3.0.1との相互運用性

- 8.1 Oracle GlassFishのセキュリティ環境との相互運用性の概要

- 8.2 メッセージ保護付きユーザー名トークン(WS-Security 1.1)

- 8.2.1 GlassFishクライアントおよびOracle WSM 11g Webサービスの構成

- 8.2.2 Oracle WSM 11gクライアントおよびGlassFish Webサービスの構成

- 8.3 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)

- 8.3.1 GlassFishクライアントおよびOracle WSM 11g Webサービスの構成

- 8.3.2 Oracle WSM 11gクライアントおよびGlassFish Webサービスの構成

はじめに

ここでは、ドキュメントのアクセシビリティの特徴と、このガイド(『Oracle Fusion Middleware Oracle Web Services Manager相互運用ガイド』)で使用している表記規則について説明します。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

Oracleサポート・サービスでは、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

表記規則

このドキュメントでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 Oracle WSMの相互運用性の概要

このガイドでは、様々なセキュリティ・スタックとOracle Web Services Manager (Oracle WSM)の相互運用性について説明します。各章の内容は次のとおりです。

- 各セキュリティ・スタックの概要

- 使用シナリオの説明

制限事項および既知の問題の詳細は、『Oracle Fusion Middlewareリリース・ノート』を参照してください。

1.1 Oracle WSMのポリシーについて

Oracle WSM 11gでは、ポリシーをWebサービス・エンドポイントにアタッチします。各ポリシーは、ドメインレベルで定義された、セキュリティ要件を定義する1つ以上のアサーションで構成されます。そのまま使用できる一連の事前定義済のポリシーおよびアサーションが用意されています。

事前定義済ポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の事前定義済ポリシーに関する項を参照してください。

ポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。

1.2 Oracle WSMの相互運用性シナリオ

表1-1に、Oracle WSMの最も一般的な相互運用性シナリオを示します。

表1-1 Oracle WSMの一般的な相互運用性シナリオ

セキュリティ・スタック

Oracle WSM 11gのポリシー

相互運用性シナリオ

Oracle WSM 10g

oracle/wss10_message_protection_service_policy

oracle/wss10_message_protection_client_policy

「メッセージ保護付き匿名認証(WS-Security 1.0)」

Oracle WSM 10g

oracle/wss10_username_token_with_message_protection_service_policy

oracle/wss10_username_token_with_message_protection_client_policy

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

Oracle WSM 10g

oracle/wss10_saml_token_with_message_protection_service_policy

oracle/wss10_saml_token_with_message_protection_client_policy

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」

Oracle WSM 10g

oracle/wss10_x509_token_with_message_protection_service_policy

oracle/wss10_x509_token_with_message_protection_client_policy

「メッセージ保護付き相互認証(WS-Security 1.0)」

Oracle WSM 10g

oracle/wss_username_token_over_ssl_service_policy

oracle/wss_username_token_over_ssl_client_policy

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

Oracle WSM 10g

oracle/wss_saml_token_over_ssl_service_policy

oracle/wss_saml_token_over_ssl_client_policy

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

OC4J 10g

oracle/wss10_message_protection_service_policy

oracle/wss10_message_protection_client_policy

「メッセージ保護付き匿名認証(WS-Security 1.0)」

OC4J 10g

oracle/wss10_username_token_with_message_protection_service_policy

oracle/wss10_username_token_with_message_protection_client_policy

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

OC4J 10g

oracle/wss10_saml_token_with_message_protection_service_policy

oracle/wss10_saml_token_with_message_protection_client_policy

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」

OC4J 10g

oracle/wss10_x509_token_with_message_protection_service_policy

oracle/wss10_x509_token_with_message_protection_client_policy

「メッセージ保護付き相互認証(WS-Security 1.0)」

OC4J 10g

oracle/wss_username_token_over_ssl_service_policy

ORoracle/wss_saml_or_username_token_over_ssl_service_policy

oracle/wss_username_token_over_ssl_client_policy

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

OC4J 10g

oracle/wss_saml_token_over_ssl_service_policy

または

oracle/wss_saml_or_username_token_over_ssl_service_policy

oracle/wss_saml_token_over_ssl_client_policy

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

Oracle WebLogic Server 11g

oracle/wss11_username_token_with_message_protection_service_policy

oracle/wss11_username_token_with_message_protection_client_policy

「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」

Oracle WebLogic Server 11g

oracle/wss10_username_token_with_message_protection_service_policy

oracle/wss10_username_token_with_message_protection_client_policy

「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」

Oracle WebLogic Server 11g

oracle/wss_username_token_over_ssl_service_policy

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

Oracle WebLogic Server 11g

oracle/wss_username_token_over_ssl_service_policy

「MTOMを使用するSSL経由のユーザー名トークン」

Oracle WebLogic Server 11g

oracle/wss_saml_token_over_ssl_service_policy

「SSL経由のSAMLトークン(送信者保証)」

Oracle WebLogic Server 11g

oracle/wss11_saml20_token_with_message_protection_service_policy

oracle/wss11_saml20_token_with_message_protection_client_policy

「MTOMを使用するSSL経由のSAMLトークン(送信者保証)」

Oracle WebLogic Server 11g

oracle/wss11_saml20_token_with_message_protection_service_policy

oracle/wss11_saml20_token_with_message_protection_client_policy

メッセージ保護付きSAML 2.0トークン(送信者保証)(WS-Security 1.1)

Oracle WebLogic Server 11g

oracle/wss11_saml_token_with_message_protection_service_policy

oracle/wss11_saml_token_with_message_protection_client_policy

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)」

Oracle WebLogic Server 11g

oracle/wss11_saml_token_with_message_protection_service_policy

oracle/wss11_saml_token_with_message_protection_client_policy

メッセージ保護付きSAML 2.0トークン(送信者保証)(WS-Security 1.1)およびMTOM

Oracle WebLogic Server 11g

oracle/wss10_saml_token_with_message_protection_service_policy

oracle/wss10_saml_token_with_message_protection_client_policy

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」

Oracle WebLogic Server 11g

oracle/wss10_x509_token_with_message_protection_service_policy

oracle/wss10_x509_token_with_message_protection_client_policy

「メッセージ保護付き相互認証(WS-Security 1.0)」

Oracle WebLogic Server 11g

oracle/wss11_x509_token_with_message_protection_service_policy

oracle/wss11_x509_token_with_message_protection_client_policy

「メッセージ保護付き相互認証(WS-Security 1.1)」

Microsoft WCF/.NET 3.5

oracle/wsmtom_service_policyoracle/wsmtom_client_policy

「メッセージ送信最適化メカニズム(MTOM)」

Microsoft WCF/.NET 3.5

oracle/wss11_username_token_with_message_protection_service_policy

または

oracle/wss11_saml_or_username_token_with_message_protection_service_policy

oracle/wss11_username_token_with_message_protection_client_policy

「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」

Microsoft WCF/.NET 3.5

oracle/wss_saml_or_username_token_over_ssl_service_policy

または

oracle/wss_username_token_over_ssl_service_policy

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

Microsoft WCF/.NET 3.5

oracle/wss11_x509_token_with_message_protection_service_policy

oracle/wss11_x509_token_with_message_protection_client_policy

「メッセージ保護付き相互認証(WS-Security 1.1)」

Microsoft WCF/.NET 3.5

oracle/wss11_kerberos_with_message_protection_service_policy

「メッセージ保護付きKerberos」

Oracle Service Bus 10g

wss10_username_token_with_message_protection_service_policy

wss10_username_token_with_message_protection_client_policy

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

Oracle Service Bus 10g

oracle/wss10_saml_token_with_message_protection_service_policy

oracle/wss10_saml_token_with_message_protection_client_policy

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」

Oracle Service Bus 10g

oracle/wss_saml_or_username_token_over_ssl_service_policy

「SSL経由のSAMLトークンまたはユーザー名トークン」

Oracle Service Bus 10g

oracle/wss10_x509_token_with_message_protection_service_policy

oracle/wss10_x509_token_with_message_protection_client_policy

「メッセージ保護付き相互認証(WS-Security 1.0)」

Axis 1.4およびWSS4J 1.5.8

oracle/wss10_username_token_with_message_protection_service_policy

oracle/wss10_username_token_with_message_protection_client_policy

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

Axis 1.4およびWSS4J 1.5.8

oracle/wss10_saml_token_with_message_protection_service_policy

oracle/wss10_saml_token_with_message_protection_client_policy

「メッセージ保護付きSAMLトークン(WS-Security 1.0)」

Axis 1.4およびWSS4J 1.5.8

oracle/wss_username_token_over_ssl_service_policy

oracle/wss_username_token_over_ssl_client_policy

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

Axis 1.4およびWSS4J 1.5.8

oracle/wss_saml_token_over_ssl_service_policy

oracle/wss_saml_token_over_ssl_client_policy

「SSL経由のSAMLトークン(送信者保証)」

GlassFish Enterprise Server

oracle/wss11_username_token_with_message_protection_service_policy

oracle/wss11_username_token_with_message_protection_client_policy

「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」

GlassFish Enterprise Server

oracle/wss11_saml_token_with_message_protection_service_policy

oracle/wss11_saml_token_with_message_protection_client_policy

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)」

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

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

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

- Oracle WSM 10gのゲートウェイに関する注記

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

- メッセージ保護付き匿名認証(WS-Security 1.0)

- メッセージ保護付きユーザー名トークン(WS-Security 1.0)

- メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

- メッセージ保護付き相互認証(WS-Security 1.0)

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

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

2.1 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管理者ガイド 10g (10.1.3.4)』で、Oracle Web Services Managerのポリシー・ステップに関する項を参照してください。

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

表2-1 は、セキュリティ要件(認証、メッセージ保護およびトランスポート)に基づいたOracle WSM 10gの最も一般的な相互運用性シナリオをまとめたものです。

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

- Oracle WSM 11gのポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。

- Oracle WSM 10gのポリシー・ステップの詳細は、http://download.oracle.com/docs/cd/E12524_01/web.1013/e12575/policy_steps.htm#BABIAHEGの『Oracle Web Services Manager管理者ガイド 10g (10.1.3.4)』で、Oracle Web Services Managerのポリシー・ステップに関する項を参照してください。

注意:

以降のシナリオでは、v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

Oracle WSM 10gのゲートウェイおよびサード・パーティ・ソフトウェアの使用に関する重要な情報は、「Oracle WSM 10gのゲートウェイに関する注記」および「サード・パーティ・ソフトウェアに関する注記」を参照してください。

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

相互運用性シナリオ

クライアント→Webサービス

Oracle WSM 11gのポリシー

Oracle WSM 10gのポリシー

「メッセージ保護付き匿名認証(WS-Security 1.0)」

Oracle WSM 10g→Oracle WSM 11g

oracle/wss10_message_protection_service_policy

リクエスト・パイプライン: メッセージの署名と暗号化

レスポンス・パイプライン: 署名の復号化と検証

「メッセージ保護付き匿名認証(WS-Security 1.0)」

Oracle WSM 11g→Oracle WSM 10g

oracle/wss10_message_protection_client_policy

リクエスト・パイプライン: 署名の復号化と検証

レスポンス・パイプライン: メッセージの署名と暗号化

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

Oracle WSM 10g→Oracle WSM 11g

oracle/wss10_username_token_with_message_protection_service_policy

リクエスト・パイプライン: メッセージの署名と暗号化

レスポンス・パイプライン: 署名の復号化と検証

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

Oracle WSM 11g→Oracle WSM 10g

oracle/wss10_username_token_with_message_protection_client_policy

リクエスト・パイプライン:

- 復号化および署名の検証

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

- ファイルの認証

レスポンス・パイプライン: メッセージの署名と暗号化

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」

Oracle WSM 10g→Oracle WSM 11g

oracle/wss10_saml_token_with_message_protection_service_policy

リクエスト・パイプライン:

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

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

- 署名と暗号化

レスポンス・パイプライン: 署名の復号化と検証

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」

Oracle WSM 11g→Oracle WSM 10g

oracle/wss10_saml_token_with_message_protection_client_policy

リクエスト・パイプライン:

- XML復号化

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

レスポンス・パイプライン: メッセージの署名と暗号化

「メッセージ保護付き相互認証(WS-Security 1.0)」

Oracle WSM 10g→Oracle WSM 11g

oracle/wss10_x509_token_with_message_protection_service_policy

リクエスト・パイプライン: メッセージの署名と暗号化

レスポンス・パイプライン: 署名の復号化と検証

「メッセージ保護付き相互認証(WS-Security 1.0)」

Oracle WSM 11g→Oracle WSM 10g

oracle/wss10_x509_token_with_message_protection_client_policy

リクエスト・パイプライン: 復号化と検証

レスポンス・パイプライン: メッセージの署名と暗号化

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

Oracle WSM 10g→Oracle WSM 11g

wss_username_token_over_ssl_service_policy

なし

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

Oracle WSM 11g→Oracle WSM 10g

wss_username_token_over_ssl_client_policy

リクエスト・パイプライン:

- 資格証明の抽出

- ファイルの認証

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

Oracle WSM 10g→Oracle WSM 11g

oracle/wss_saml_token_over_ssl_service_policy

リクエスト・パイプライン:

- 資格証明の抽出

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

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

Oracle WSM 11g→Oracle WSM 10g

oracle/wss_saml_token_over_ssl_client_policy

リクエスト・パイプライン:

- 資格証明の抽出

- ファイルの認証

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

2.2 Oracle WSM 10gのゲートウェイに関する注記

Oracle Fusion MiddlewareのOracle WSMのリアーキテクチャの検証に関する項で説明されているように、Oracle Fusion Middleware 11g リリース1 (11.1.1.7)にはゲートウェイ・コンポーネントは含まれていません。Oracle WSM 10gのゲートウェイ・コンポーネントを、Oracle WSM 10gのポリシーとともにアプリケーションで引き続き使用できます。

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

Oracle Fusion MiddlewareのOracle WSMのリアーキテクチャの検証に関する項で説明されているように、Oracle WSM 10gでは、サード・パーティ・アプリケーションのサーバー(IBM WebSphereやRed Hat JBossなど)に対するポリシー強制をサポートしています。Oracle Fusion Middleware 11gリリース1 (11.1.1.7)でサポートされるのは、Oracle WebLogic Serverのみです。Oracle WSM 10gポリシーを使用すれば、引き続きサード・パーティ・アプリケーションのサーバーを使用できます。

2.4 メッセージ保護付き匿名認証(WS-Security 1.0)

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付き匿名認証を実装する方法について説明します。

- 「Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成」

2.4.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

2.4.1.1 Oracle WSM 11g Webサービスの構成

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

注意:

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

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

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

2. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

3. ポリシーをWebサービスにアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、Webサービスへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービスへのポリシーのアタッチに関する項を参照してください。

2.4.1.2 Oracle WSM 10gクライアントの構成

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

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

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

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

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

3. メッセージの署名および暗号化のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

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

1. 復号化および署名検証のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

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

2.4.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスを構成するには、次の手順を実行します。

2.4.2.1 Oracle WSM 10g Webサービスの構成

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

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

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

1. 復号化および署名検証のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

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

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

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

3. メッセージの署名および暗号化のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

2.4.2.2 Oracle WSM 11gクライアントの構成

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

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

注意:

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

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

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

2. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

3. ポリシーをWebサービス・クライアントにアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービス・クライアントへのOracle WSMポリシーのアタッチに関する項を参照してください。

4. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss10_message_protection_client_policyに関する項の説明に従って、このポリシーを構成します。

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

2.5 メッセージ保護付きユーザー名トークン(WS-Security 1.0)

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装する方法について説明します。

- 「Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成」

2.5.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

2.5.1.1 Oracle WSM 11g Webサービスの構成

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

注意:

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

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

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

2. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

2. ポリシーをWebサービスにアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービスへのポリシーのアタッチに関する項を参照してください。

2.5.1.2 Oracle WSM 10gクライアントの構成

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

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

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

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

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

3. 「暗号化されたコンテンツ」を「エンベロープ」に設定します。

4. 「署名されたコンテンツ」を「エンベロープ」に設定します。

5. メッセージの署名および暗号化のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

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

1. 復号化および署名検証のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

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

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

2.5.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスを構成するには、次の手順を実行します。

2.5.2.1 Oracle WSM 10g Webサービスの構成

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

2. 次のポリシー・ステップをリクエスト・パイプラインにアタッチします。
- 署名の復号化と検証

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

- ファイルの認証

注意:

「ファイルの認証」は、「LDAPの認証」、「Oracle Access Managerの認証」、「Active Directoryの認証」または「SiteMinderの認証」に置き換えることができます。

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

1. 資格証明を抽出するためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

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

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

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

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

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

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

3. メッセージの署名および暗号化のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

2.5.2.2 Oracle WSM 11gクライアントの構成

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

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

注意:

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

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

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

2. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

3. ポリシーをWebサービス・クライアントにアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービス・クライアントへのOracle WSMポリシーのアタッチに関する項を参照してください。

4. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss10_username_token_with_message_protection_client_policyに関する項の説明に従って、このポリシーを構成します。

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

2.6 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークン(送信者保証)を実装する方法について説明します。

- 「Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成」

2.6.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

2.6.1.1 Oracle WSM 11g Webサービスの構成

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

注意:

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

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

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

2. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

2. ポリシーをWebサービスにアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービスへのポリシーのアタッチに関する項を参照してください。

2.6.1.2 Oracle WSM 10gクライアントの構成

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

2. 次のポリシー・ステップをリクエスト・パイプラインにアタッチします。
- 資格証明の抽出(WS-BASICとして構成された資格証明)

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

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

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

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

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

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

2. 「アサーション発行者」をwww.oracle.comとして設定します。

3. 「サブジェクト・フォーマット」を「未指定」として設定します。

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

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

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

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

3. 復号化および署名検証のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

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

1. 復号化および署名検証のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

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

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

2.6.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスを構成するには、次の手順を実行します。

2.6.2.1 Oracle WSM 10g Webサービスの構成

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

2. 次のポリシー・ステップをリクエスト・パイプラインにアタッチします。
- XML復号化

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

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

1. XML復号化のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

1. 「信頼できる発行者名」をwww.oracle.comとして設定します。

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

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

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

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

3. メッセージの署名および暗号化のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

2.6.2.2 Oracle WSM 11gクライアントの構成

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

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

注意:

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

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

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

2. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

3. ポリシーをWebサービス・クライアントにアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービス・クライアントへのOracle WSMポリシーのアタッチに関する項を参照してください。

4. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss10_saml_token_with_message_protection_client_policyに関する項の説明に従って、このポリシーを構成します。

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

2.7 メッセージ保護付き相互認証(WS-Security 1.0)

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付き相互認証を実装する方法について説明します。

- 「Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成」

2.7.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

2.7.1.1 Oracle WSM 11g Webサービスの構成

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

注意:

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

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

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

2. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

2. ポリシーをWebサービスにアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービスへのポリシーのアタッチに関する項を参照してください。

2.7.1.2 Oracle WSM 10gクライアントの構成

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

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

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

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

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

3. メッセージの署名および暗号化のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

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

1. 復号化および署名検証のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

7. Oracle WSM 10gゲートウェイを再起動します。

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

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

2.7.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスを構成するには、次の手順を実行します。

2.7.2.1 Oracle WSM 10g Webサービスの構成

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

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

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

1. 復号化および署名検証のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

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

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

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

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

3. メッセージの署名および暗号化のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。

2.7.2.2 Oracle WSM 11gクライアントの構成

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

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

注意:

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

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

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

2. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

3. ポリシーをWebサービス・クライアントにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

4. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss10_x509_token_with_message_protection_client_policyに関する項の説明に従って、このポリシーを構成します。

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

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

この項では、次のシナリオにおいてSSL経由のユーザー名トークンを実装する方法について説明します。

- 「Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成」

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

- WebLogic ServerでのSSLの構成の詳細は、WebLogic ServerへのSSLの構成(一方向)およびWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

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

2.8.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

2.8.1.1 Oracle WSM 11g Webサービスの構成

1. サーバーをSSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(一方向)およびWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

2. wss_username_token_over_ssl_service_policyポリシーをアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービスへのポリシーのアタッチに関する項を参照してください。

2.8.1.2 Oracle WSM 10gクライアントの構成

1. サーバーをSSL用に構成します。
詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

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

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

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

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

2.8.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスを構成するには、次の手順を実行します。

2.8.2.1 Oracle WSM 10g Webサービスの構成

1. サーバーをSSL用に構成します。
詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

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

3. 次のポリシー・ステップをリクエスト・パイプラインにアタッチします。
- 資格証明の抽出

- ファイルの認証

注意:

「ファイルの認証」は、「LDAPの認証」、「Oracle Access Managerの認証」、「Active Directoryの認証」または「SiteMinderの認証」に置き換えることができます。

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

1. 「資格証明の場所」を「WS-BASIC」として設定します。

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

2.8.2.2 Oracle WSM 11gクライアントの構成

1. Oracle WSMゲートウェイに登録されているWebサービスの仮想化されたURLを使用して、クライアント・プロキシを作成します。
クライアントを生成する際は、URL内にHTTPがHTTPポート番号とともに指定されていることを確認してください。

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

注意:

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

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

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

2. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

3. ポリシーをWebサービス・クライアントにアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービス・クライアントへのOracle WSMポリシーのアタッチに関する項を参照してください。

4. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss_username_token_over_ssl_client_policyに関する項の説明に従って、このポリシーを構成します。

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

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

次の各項では、WS-Security 1.0標準に準拠するSSL経由のSAMLトークン(送信者保証)を実装する方法について説明します。

- 「Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成」

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

- WebLogic ServerでのSSLの構成の詳細は、WebLogic ServerへのSSLの構成(一方向)およびWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

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

2.9.1 Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスの構成

Oracle WSM 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

2.9.1.1 Oracle WSM 11g Webサービスの構成

1. サーバーを双方向SSL用に構成します。
詳細は、WebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

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

注意:

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

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

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

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

3. ポリシーをアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービスへのポリシーのアタッチに関する項を参照してください。

2.9.1.2 Oracle WSM 10gクライアントの構成

1. サーバーを双方向SSL用に構成します。
詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

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

3. 次のポリシー・ステップをリクエスト・パイプラインにアタッチします。
- 資格証明の抽出

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

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

1. 「資格証明の場所」を「WS-BASIC」として設定します。

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

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

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

3. 「サブジェクト・フォーマット」を「未指定」として構成します。

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

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

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

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

2.9.2 Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOracle WSM 10g Webサービスを構成するには、次の手順を実行します。

2.9.2.1 Oracle WSM 10g Webサービスの構成

1. サーバーを双方向SSL用に構成します。
詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

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

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

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

1. 「署名の検証プロパティ」で、「署名付きアサーションのみを許可」を「false」に設定します。

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

2.9.2.2 Oracle WSM 11gクライアントの構成

1. サーバーを双方向SSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

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

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

注意:

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

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

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

2. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

4. ポリシーをWebサービス・クライアントにアタッチします。
Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。JDeveloperを使用して設計時にポリシーをアタッチする方法の詳細は、JDeveloperのオンライン・ヘルプでWebサービス・クライアントへのOracle WSMポリシーのアタッチに関する項を参照してください。

5. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss_saml_token_over_ssl_client_policyに関する項の説明に従って、このポリシーを構成します。

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

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

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

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

- OC4J 10gのセキュリティ環境との相互運用性の概要

- メッセージ保護付き匿名認証(WS-Security 1.0)

- メッセージ保護付きユーザー名トークン(WS-Security 1.0)

- メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

- メッセージ保護付き相互認証(WS-Security 1.0)

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

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

3.1 OC4J 10gのセキュリティ環境との相互運用性の概要

OC4J 10gで、セキュリティ環境を構成します。

- Application Server Controlを使用したWebサービスの構成方法の詳細は、http://download.oracle.com/docs/cd/B31017_01/web.1013/b28975/toc.htmの『Oracle Application Server Web Servicesアドバンスト開発者ガイド』を参照してください。

- JDeveloperを使用したクライアント側アプリケーションの開発および構成方法の詳細は、JDeveloperのオンライン・ヘルプを参照してください。

- XMLベースのデプロイメント・ディスクリプタ・ファイルの変更方法の詳細は、http://download.oracle.com/docs/cd/B31017_01/web.1013/b28976/toc.htmの『Oracle Application Server Web Services セキュリティ・ガイド 10g (10.1.3.1.0)』を参照してください。

Oracle WSM 11gでは、ポリシーをWebサービス・エンドポイントにアタッチします。各ポリシーは、ドメインレベルで定義された、セキュリティ要件を定義する1つ以上のアサーションで構成されます。そのまま使用できる一連の事前定義済のポリシーおよびアサーションが用意されています。事前定義済ポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の事前定義済ポリシーに関する項を参照してください。ポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。

表3-1は、セキュリティ要件(認証、メッセージ保護およびトランスポート)に基づいたOC4J 10gの最も一般的な相互運用性シナリオをまとめたものです。

Oracle WSM 11gポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。

注意:

以降のシナリオでは、v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

表3-1 OC4J 10gのセキュリティ環境との相互運用性

相互運用性シナリオ

クライアント→Webサービス

Oracle WSM 11gのポリシー

OC4J 10gのポリシー

「メッセージ保護付き匿名認証(WS-Security 1.0)」

OC4J10g→Oracle WSM 11g

oracle/wss10_message_protection_service_policy

「OC4J 10gクライアントの構成」を参照

「メッセージ保護付き匿名認証(WS-Security 1.0)」

Oracle WSM 11g→OC4J10g

oracle/wss10_message_protection_client_policy

「OC4J 10g Webサービスの構成」を参照

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

OC4J10g→Oracle WSM 11g

oracle/wss10_username_token_with_message_protection_service_policy

「OC4J 10gクライアントの構成」を参照

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

Oracle WSM 11g→OC4J10g

oracle/wss10_username_token_with_message_protection_client_policy

「OC4J 10g Webサービスの構成」を参照

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」

OC4J10g→Oracle WSM 11g

oracle/wss10_saml_token_with_message_protection_service_policy

「OC4J 10gクライアントの構成」を参照

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」

Oracle WSM 11g→OC4J10g

oracle/wss10_saml_token_with_message_protection_client_policy

「OC4J 10g Webサービスの構成」を参照

「メッセージ保護付き相互認証(WS-Security 1.0)」

OC4J10g→Oracle WSM 11g

oracle/wss10_x509_token_with_message_protection_service_policy

「OC4J 10gクライアントの構成」を参照

「メッセージ保護付き相互認証(WS-Security 1.0)」

Oracle WSM 11g→OC4J10g

oracle/wss10_x509_token_with_message_protection_client_policy

「OC4J 10g Webサービスの構成」を参照

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

OC4J10g→Oracle WSM 11g

oracle/wss_username_token_over_ssl_service_policy

または

oracle/wss_saml_or_username_token_over_ssl_service_policy

「OC4J 10gクライアントの構成」を参照

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

Oracle WSM 11g→OC4J10g

oracle/wss_username_token_over_ssl_client_policy

「OC4J 10g Webサービスの構成」を参照

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

OC4J10g→Oracle WSM 11g

oracle/wss_saml_token_over_ssl_service_policy

または

oracle/wss_saml_or_username_token_over_ssl_service_policy

「OC4J 10gクライアントの構成」を参照

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

Oracle WSM 11g→OC4J10g

oracle/wss_saml_token_over_ssl_client_policy

「OC4J 10g Webサービスの構成」を参照

3.2 メッセージ保護付き匿名認証(WS-Security 1.0)

この項では、次のシナリオにおいてWS-Security 1.0標準に準拠するメッセージ保護付き匿名認証を実装する方法について説明します。

- 「OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成」

3.2.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

3.2.1.1 Oracle WSM 11g Webサービスの構成

1. Webサービス・アプリケーションを作成します。

2. oracle/wss10_message_protection_service_policyポリシーをWebサービスのエントリ・ポイントにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

3.2.1.2 OC4J 10gクライアントの構成

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

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

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

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

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

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

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

- 「有効期限」(秒)を入力します。

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

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

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

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

- 「有効期限」(秒)を入力します。

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

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

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

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

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

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

8. プロキシ・エディタ・ナビゲーション・バーの「キーストア・オプション」をクリックし、必要に応じてキーストア・プロパティを構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

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

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

11. クライアントからWebサービス・メソッドを起動します。

<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>
...

3.2.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。

3.2.2.1 OC4J 10g Webサービスの構成

1. Webサービス・アプリケーションを作成してデプロイします。

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

3. 「認証」タブをクリックし、いずれのオプションも選択されていなことを確認します。

4. 「インバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。

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

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

- 「有効期限」(秒)を入力します。

5. 「アウトバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。

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

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

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

- 「有効期限」(秒)を入力します。

6. 「インバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。

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

7. 「アウトバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。

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

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

- 公開鍵を暗号化に設定します。

8. キーストア・プロパティおよびアイデンティティ証明書を構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

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

3.2.2.2 Oracle WSM 11gクライアントの構成

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

2. oracle/wss10_message_protection_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

3. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の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>
...

3.3 メッセージ保護付きユーザー名トークン(WS-Security 1.0)

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装する方法について説明します。

- 「OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成」

3.3.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

3.3.1.1 Oracle WSM 11g Webサービスの構成

1. Oracle WSM 11g Webサービスを作成します。

2. oracle/wss10_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

3.3.1.2 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キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

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

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

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

<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"/>
...

3.3.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。

3.3.2.1 OC4J 10g Webサービスの構成

1. JAX-RPC Webサービスを作成してOC4Jにデプロイします。

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

3. 「認証」タブをクリックし、次のオプションを設定します。

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

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

4. 「インバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。

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

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

- 「有効期限」(秒)を入力します。

5. 「アウトバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。

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

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

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

- 「有効期限」(秒)を入力します。

6. 「インバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。

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

7. 「アウトバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。

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

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

- 公開鍵を暗号化に設定します。

8. キーストア・プロパティおよびアイデンティティ証明書を構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

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

3.3.2.2 Oracle WSM 11gクライアントの構成

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

2. oracle/wss10_username_token_with_message_protection_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

3. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の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"/>
...

3.4 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークン送信者保証を実装する方法について説明します。

- 「OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成」

3.4.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

3.4.1.1 Oracle WSM 11g Webサービスの構成

1. Oracle WSM 11g Webサービスを作成します。

2. oracle/wss10_saml_token__with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

3.4.1.2 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キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

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

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

11. Webサービス・メソッドを起動します。

<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>
...

3.4.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。

3.4.2.1 OC4J 10g Webサービスの構成

1. JAX-RPC Webサービスを作成してOC4Jにデプロイします。

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

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

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

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

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

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

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

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

- 「有効期限」(秒)を入力します。

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

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

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

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

- 「有効期限」(秒)を入力します。

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

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

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

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

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

- 公開鍵を暗号化に設定します。

8. キーストア・プロパティおよびアイデンティティ証明書を構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

詳細は、Oracle Fusion Middlewareの管理者ガイドを参照してください。

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

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

3.4.2.2 Oracle WSM 11gクライアントの構成

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

2. oracle/wss10_saml_token_with_message_protection_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

3. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の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"/>
...

3.5 メッセージ保護付き相互認証(WS-Security 1.0)

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付き相互認証を実装する方法について説明します。

- 「OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成」

3.5.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

3.5.1.1 Oracle WSM 11g Webサービスの構成

1. Webサービス・アプリケーションを作成します。

2. oracle/wss10_x509_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

3.5.1.2 OC4J 10gクライアントの構成

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

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

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

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

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

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

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

- 「有効期限」(秒)を入力します。

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

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

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

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

- 「有効期限」(秒)を入力します。

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

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

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

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

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

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

8. プロキシ・エディタ・ナビゲーション・バーの「キーストア・オプション」をクリックし、必要に応じてキーストア・プロパティを構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

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

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

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

<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>
...

3.5.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。

3.5.2.1 OC4J 10g Webサービスの構成

1. JAX-RPC Webサービスを作成してOC4Jにデプロイします。

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

3. 「認証」タブをクリックし、次のオプションを設定します。

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

4. 「インバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。

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

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

- 「有効期限」(秒)を入力します。

5. 「アウトバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。

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

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

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

- 「有効期限」(秒)を入力します。

6. 「インバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。

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

7. 「アウトバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。

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

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

- 公開鍵を暗号化に設定します。

8. キーストア・プロパティおよびアイデンティティ証明書を構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

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

3.5.2.2 Oracle WSM 11gクライアントの構成

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

2. oracle/wss10_x509_token_with_message_protection_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

3. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss10_x509_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"/>
...

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

次の各項では、SSL経由のユーザー名トークンを実装する方法について説明します。

- 「OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成」

関連項目:

- WebLogic ServerでのSSLの構成の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(一方向)およびWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

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

3.6.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

3.6.1.1 Oracle WSM 11g Webサービスの構成

1. サーバーをSSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(一方向)およびWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

2. 次のポリシーの1つをWebサービスにアタッチします。
oracle/wss_username_token_over_ssl_service_policy

oracle/wss_username_or_saml_token_over_ssl_service_policy

ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

3.6.1.2 OC4J 10gクライアントの構成

1. Oracle JDeveloperを使用して、(前述の)Webサービスのクライアント・プロキシを作成します。
Webサービス・エンドポイントが、Oracle WebLogic ServerでHTTPSおよび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キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

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

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

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

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

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

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

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

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

3.6.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。

3.6.2.1 OC4J 10g Webサービスの構成

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デプロイメント・ディスクリプタ・ファイルを編集します。

3.6.2.2 Oracle WSM 11gクライアントの構成

1. clientgenを使用して、OC4J 10g Webサービスへのクライアント・プロキシを作成します。
Webサービス・エンドポイントが、Oracle WebLogic ServerでHTTPSおよび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ポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

4. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の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>
...

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

次の各項では、WS-Security 1.0標準に準拠するSSL経由のSAMLトークン(送信者保証)を実装する方法について説明します。

- 「OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成」

関連項目:

- WebLogic ServerでのSSLの構成の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(一方向)およびWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

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

3.7.1 OC4J 10gクライアントおよびOracle WSM 11g Webサービスの構成

OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。

3.7.1.1 Oracle WSM 11g Webサービスの構成

1. サーバーを双方向SSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

2. 次のポリシーをWebサービスにアタッチします。
oracle/wss_saml_token_over_ssl_service_policyまたは

oracle/wss_username_or_saml_token_over_ssl_service_policy。

ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

3.7.1.2 OC4J 10gクライアントの構成

1. サーバーを双方向SSL用に構成します。
詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htmを参照してください。

2. Oracle JDeveloperを使用して、(前述の)Webサービスのクライアント・プロキシを作成します。
Webサービス・エンドポイントが、Oracle WebLogic ServerでHTTPSおよび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ファイルの編集」の説明に従ってこのファイルを編集します。

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

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

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

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

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

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

3.7.2 Oracle WSM 11gクライアントおよびOC4J 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。

3.7.2.1 OC4J 10g Webサービスの構成

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デプロイメント・ディスクリプタ・ファイルを編集します。

3.7.2.2 Oracle WSM 11gクライアントの構成

1. サーバーを双方向SSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

2. OC4J 10g Webサービスへのクライアント・プロキシを作成します。
Webサービス・エンドポイントが、Oracle WebLogic ServerでHTTPSおよびSSLポートが構成されているURLを参照していることを確認してください。

3. oracle/wss_saml_token_over_ssl_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

4. 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の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>
...

4 Oracle WebLogic Server 11g Webサービスのセキュリティ環境との相互運用性

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

- Oracle WebLogic Server 11g Webサービスのセキュリティ環境との相互運用性の概要

- メッセージ保護付きユーザー名トークン(WS-Security 1.1)

- メッセージ保護付きユーザー名トークン(WS-Security 1.1)およびMTOM

- メッセージ保護付きユーザー名トークン(WS-Security 1.0)

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

- MTOMを使用するSSL経由のユーザー名トークン

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

- MTOMを使用するSSL経由のSAMLトークン(送信者保証)

- メッセージ保護付きSAML 2.0トークン(送信者保証)(WS-Security 1.1)

- メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)

- メッセージ保護付きSAML 2.0トークン(送信者保証)(WS-Security 1.1)およびMTOM

- メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

- メッセージ保護付き相互認証(WS-Security 1.0)

- メッセージ保護付き相互認証(WS-Security 1.1)

4.1 Oracle WebLogic Server 11g Webサービスのセキュリティ環境との相互運用性の概要

Oracle Fusion Middleware 11gでは、Oracle WSMとOracle WebLogic Server 11gのいずれのWebサービス・ポリシーもWebLogic Java EE Webサービスにアタッチできます。

事前定義済のOracle WSM 11gポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の次の項を参照してください。

- Webサービスへのポリシーのアタッチに関する項

- ポリシーの構成に関する項

- 事前定義済ポリシーに関する項

Oracle WebLogic Server 11g Webサービスの事前定義済ポリシーの詳細は、次の資料を参照してください。

- 『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic Webサービスおよびクライアントへのポリシーのアタッチに関する項

- 『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』

表4-1および表4-2 は、セキュリティ要件(認証、メッセージ保護およびトランスポート)に基づいたOracle WebLogic Server 11g Webサービス・ポリシーの最も一般的な相互運用性シナリオをまとめたものです。表は次のように構成されています。

- 表4-1に、WebLogic Webサービス・ポリシーおよびOracle WSMクライアント・ポリシーとの相互運用性シナリオを示します。

- 表4-2に、Oracle WSM Webサービス・ポリシーおよびWebLogic Webサービス・クライアント・ポリシーとの相互運用性シナリオを示します。

表4-1 WebLogic Webサービス・ポリシーとOracle WSMクライアント・ポリシーの相互運用性

アイデンティティ・トークン

WS-Securityバージョン

メッセージ保護

トランスポート・セキュリティ

サービス・ポリシー

クライアント・ポリシー

ユーザー名

1.1

はい

いいえ

- Wssp1.2-2007-Wss1.1-UsernameToken-Plain-EncryptedKey-Basic128.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

oracle/wss11_username_token_with_message_protection_client_policy

ユーザー名とMTOM

1.1

はい

いいえ

- Wssp1.2-2007-Wss1.1-UsernameToken-Plain-EncryptedKey-Basic128.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

oracle/wss11_username_token_with_message_protection_client_policy

wsmtom_policy

ユーザー名

1.0

はい

いいえ

- Wssp1.2-wss10_username_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

oracle/wss10_username_token_with_message_protection_client_policy

SAML 2.0

1.1

はい

いいえ

- Wssp1.2-wss11_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

oracle/wss11_saml_token_with_message_protection_client_policy

SAML

1.1

はい

いいえ

- Wssp1.2-wss11_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

oracle/wss11_saml_token_with_message_protection_client_policy

SAMLとMTOM

1.1

はい

いいえ

- Wssp1.2-wss11_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

oracle/wss11_saml_token_with_message_protection_client_policy

wsmtom_policy

SAML

1.0

はい

いいえ

- Wssp1.2-wss10_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

oracle/wss10_saml_token_with_message_protection_client_policy

相互認証

1.1

はい

いいえ

- Wssp1.2-wss11_x509_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

oracle/wss11_x509_token_with_message_protection_client_policy

相互認証

1.0

はい

いいえ

- Wssp1.2-wss10_x509_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

oracle/wss10_x509_token_with_message_protection_client_policy

表4-2 Oracle WSMサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性

アイデンティティ・トークン

WS-Securityバージョン

メッセージ保護

トランスポート・セキュリティ

サービス・ポリシー

クライアント・ポリシー

ユーザー名

1.1

はい

いいえ

oracle/wss11_username_token_with_message_protection_service_policy

- Wssp1.2-2007-Wss1.1-UsernameToken-Plain-EncryptedKey-Basic128.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

ユーザー名とMTOM

1.1

はい

いいえ

oracle/wss11_username_token_with_message_protection_service_policy

- Wssp1.2-wss10_username_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

ユーザー名

1.0

はい

いいえ

oracle/wss10_username_token_with_message_protection_service_policy

- Wssp1.2-wss10_username_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

SSL経由のユーザー名

1.0および1.1

いいえ

はい

oracle/wss_username_token_over_ssl_service_policy

Wssp1.2-2007-Https-UsernameToken-Plain.xml

MTOMを使用するSSL経由のユーザー名

1.0および1.1

いいえ

はい

oracle/wss_username_token_over_ssl_service_policy

Wssp1.2-2007-Https-UsernameToken-Plain.xml

SSL経由のSAML

1.0および1.1

いいえ

はい

oracle/wss_saml_token_over_ssl_service_policy

Wssp1.2-2007-Saml1.1-SenderVouches-Https.xml

MTOMを使用するSSL経由のSAML

1.0および1.1

いいえ

はい

oracle/wss_saml_token_over_ssl_service_policy

Wssp1.2-2007-Saml1.1-SenderVouches-Https.xml

SAML 2.0

1.1

はい

いいえ

oracle/wss11_saml_token_with_message_protection_service_policy

- Wssp1.2-wss11_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

SAML

1.1

はい

いいえ

oracle/wss11_saml_token_with_message_protection_service_policy

- Wssp1.2-wss11_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

MTOMを使用するSAML

1.1

はい

いいえ

oracle/wss11_saml_token_with_message_protection_service_policy

- Wssp1.2-wss11_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

SAML

1.0

はい

いいえ

oracle/wss10_saml_token_with_message_protection_service_policy

- Wssp1.2-wss10_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

相互認証

1.1

はい

いいえ

oracle/wss11_x509_token_with_message_protection_service_policy

- Wssp1.2-wss11_x509_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

相互認証

1.0

はい

いいえ

oracle/wss10_x509_token_with_message_protection_service_policy

- Wssp1.2-wss10_x509_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

4.2 メッセージ保護付きユーザー名トークン(WS-Security 1.1)

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

- 4.2.1「WebLogic Webサービス・ポリシーとの相互運用」

- 4.2.2「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.2.1 WebLogic Webサービス・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きユーザー名トークンを実装し、WebLogic Webサービス・ポリシーとOracle WSMクライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.2.1.1「WebLogic Webサービス・ポリシーのアタッチと構成」

- 4.2.1.2「Oracle WSMクライアント・ポリシーのアタッチと構成」

4.2.1.1 WebLogic Webサービス・ポリシーのアタッチと構成

WebLogic Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-3 WebLogic Webサービス・ポリシーのアタッチと構成

タスク

説明

参照先

1

Create a WebLogic Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のWebLogic (Java EE) Webサービスを実装するためのロードマップに関する項

2

次のポリシーをアタッチします。

- Wssp1.2-2007-Wss1.1-UsernameToken-Plain-EncryptedKey-Basic128.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

IDストアおよび信頼ストアを構成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのアイデンティティおよび信頼の構成に関する項

4

メッセージレベルのセキュリティを構成します。

注意: WS-Security 1.1ポリシーに指定する必要があるのは、機密保護キーのみです。

- 『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項

- Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのセキュリティ構成の作成に関する項

5

Webサービスをデプロイします。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのインストールに関する項

4.2.1.2 Oracle WSMクライアント・ポリシーのアタッチと構成

Oracle WSMクライアント・ポリシーでクライアントを構成するには、次のタスクを実行します。

表4-4 Oracle WSMクライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenまたは他のメカニズムを使用して、表4-3で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss11_username_token_with_message_protection_client_policyポリシーをWebサービス・クライアントにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

3

ポリシーを構成します。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss11_username_token_with_message_protection_client_policyに関する項

4

クライアント構成内にkeystore.recipient.aliasを指定します。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss11_username_token_with_message_protection_client_policyに関する項

5

クライアントに指定するkeystore.recipient.aliasキーが、Webサービスに対して構成されている信頼ストア内に信頼できる証明書エントリとして存在していることを確認してください。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss11_username_token_with_message_protection_client_policyに関する項

6

有効なユーザー名およびパスワードを構成の一部として指定します。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss11_username_token_with_message_protection_client_policyに関する項

7

クライアントからWebサービス・メソッドを起動します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

4.2.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きユーザー名トークンを実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.2.2.1「Oracle WSMポリシーのアタッチと構成」

- 4.2.2.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.2.2.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-5 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Webサービスを作成してデプロイします。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss11_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

4.2.2.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-6 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenを使用して、表4-5で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のclientgen Antタスクを使用したクライアント・アーティファクトの生成に関する項

2

次のポリシーをアタッチします。

- Wssp1.2-2007-Wss1.1-UsernameToken-Plain-EncryptedKey-Basic128.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

クライアントでサーバー(暗号化キー)を構成します。

注意: 指定する暗号化キーが、Webサービスに対して構成されている暗号化キーと一致していることを確認してください。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージ保護付きWebサービスを起動するためのクライアント・アプリケーションの更新に関する項

4

クライアントからWebサービス・メソッドを起動します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスを起動するためのJavaクライアント・アプリケーション・コードの作成に関する項

4.3 メッセージ保護付きユーザー名トークン(WS-Security 1.1)およびMTOM

この項では、次の相互運用性シナリオにおいて、WS-Security 1.1標準に準拠するメッセージ保護付きユーザー名トークンおよびメッセージ送信最適化メカニズム(MTOM)を実装する方法について説明します。

- 4.3.1「WebLogic Webサービス・ポリシーとの相互運用」

- 4.3.2「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.3.1 WebLogic Webサービス・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きユーザー名トークンを実装し、WebLogic Webサービス・ポリシーとOracle WSMクライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.3.1.1「WebLogic Webサービス・ポリシーのアタッチと構成」

- 4.3.1.2「Oracle WSMクライアント・ポリシーのアタッチと構成」

4.3.1.1 WebLogic Webサービス・ポリシーのアタッチと構成

WebLogic Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-7 WebLogic Webサービス・ポリシーのアタッチと構成

タスク

説明

参照先

1

Create a WebLogic Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のWebLogic (Java EE) Webサービスを実装するためのロードマップに関する項

2

Webサービスで@MTOM注釈を使用します。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

4.3.1.2 Oracle WSMクライアント・ポリシーのアタッチと構成

Oracle WSMクライアント・ポリシーでクライアントを構成するには、次のタスクを実行します。

表4-8 Oracle WSMクライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenまたは他のメカニズムを使用して、表4-7で作成したWebサービスのクライアント・プロキシを構成します。

「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」の手順を実行してください。

2

Webサービスで@MTOM注釈を使用していない場合(表4-7を参照)、「管理」タブからwsmtom_policyをアタッチします。

「Oracle WSMクライアント・ポリシーのアタッチと構成」のステップ2を実行します。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のOracleインフラストラクチャのWebサービス・クライアントへのポリシーのアタッチに関する項

4.3.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きユーザー名トークンを実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.3.2.1「Oracle WSMポリシーのアタッチと構成」

- 4.3.2.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.3.2.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-9 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Oracle WSM Webサービスを構成します。

4.2項「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」の手順を実行してください。

2

「管理」タブからwsmtom_policyをアタッチします。

「Oracle WSMクライアント・ポリシーのアタッチと構成」のステップ2を実行します。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のOracleインフラストラクチャのWebサービス・クライアントへのポリシーのアタッチに関する項

4.3.2.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-10 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenを使用して、表4-9で作成したWebサービスのクライアント・プロキシを作成します。

4.2項「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」の手順を実行してください。

2

wsmtom_policyをアタッチしていない場合(表4-9を参照)、@MTOM注釈をWebサービス・クライアントに使用します。

WebLogic Webサービス・クライアント・ポリシーのアタッチと構成に関する項のステップ2を実行します。

4.4 メッセージ保護付きユーザー名トークン(WS-Security 1.0)

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

- 4.4.1「WebLogic Webサービス・ポリシーとの相互運用性」

- 4.4.2「WebLogic Webサービス・クライアント・ポリシーとの相互運用性」

注意:

WS-Security 1.0ポリシーは、レガシー・アプリケーションに対してのみサポートされています。最大のパフォーマンスを実現するためには、WS-Security 1.1ポリシーを使用してください。詳細は、「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」を参照してください。

4.4.1 WebLogic Webサービス・ポリシーとの相互運用性

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装し、WebLogic Webサービス・ポリシーとOracle WSMクライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.4.1.1「WebLogic Webサービス・ポリシーのアタッチと構成」

- 4.4.1.2「Oracle WSMクライアント・ポリシーのアタッチと構成」

4.4.1.1 WebLogic Webサービス・ポリシーのアタッチと構成

WebLogic Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-11 WebLogic Webサービス・ポリシーのアタッチと構成

タスク

説明

参照先

1

Create a WebLogic Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のWebLogic (Java EE) Webサービスを実装するためのロードマップに関する項

2

次のポリシーをアタッチします。

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-wss10_username_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

IDストアおよび信頼ストアを構成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのアイデンティティおよび信頼の構成に関する項

4

メッセージレベルのセキュリティを構成します。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのセキュリティ構成の作成に関する項

5

Webサービスをデプロイします。

『Oracle Fusion Middleware Oracle WebLogic Serverへのアプリケーションのデプロイ』

4.4.1.2 Oracle WSMクライアント・ポリシーのアタッチと構成

Oracle WSMクライアント・ポリシーでクライアントを構成するには、次のタスクを実行します。

表4-12 Oracle WSMクライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenまたは他のメカニズムを使用して、表4-11で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss10_username_token_with_message_protection_client_policyポリシーをWebサービス・クライアントにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項

3

ポリシーを構成します。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss10_username_token_with_message_protection_client_policyに関する項

4

クライアント(署名および復号化キー)とキーストア受信者別名(暗号化に使用されるサーバー公開鍵)には、必ず別々のキーを使用してください。受信者別名が、Webサービス・ポリシーのセキュリティ構成内に定義されているキーと一致していることを確認してください。

5

クライアントに指定する署名および暗号化キーが、Webサービスに対して構成されている信頼ストア内に信頼できる証明書エントリとして存在していることを確認してください。

6

有効なユーザー名およびパスワードを構成の一部として指定します。

7

クライアントからWebサービス・メソッドを起動します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

4.4.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用性

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.4.2.1「Oracle WSMポリシーのアタッチと構成」

- 4.4.2.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.4.2.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-13 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss10_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

4.4.2.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-14 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenを使用して、表4-13で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のclientgen Antタスクを使用したクライアント・アーティファクトの生成に関する項

2

次のポリシーをアタッチします。

- Wssp1.2-wss10_username_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

クライアント・サーバー(暗号化キー)およびクライアント証明書を構成します。

注意: 指定する暗号化キーが、Webサービスに対して構成されている暗号化キーと一致していることを確認してください。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージ保護付きWebサービスを起動するためのクライアント・アプリケーションの更新に関する項

4

クライアントからWebサービス・メソッドを起動します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスを起動するためのJavaクライアント・アプリケーション・コードの作成に関する項

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

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

- 4.5.1「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.5.1 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、SSL経由のユーザー名トークンを実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.5.1.1「Oracle WSMポリシーのアタッチと構成」

- 4.5.1.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.5.1.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-15 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

サーバーを一方向SSL用に構成します。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(一方向)に関する項

2

Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

3

oracle/wss_username_token_over_ssl_service_policyポリシーをアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

4.5.1.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-16 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenを使用して、表4-15で作成したWebサービスのクライアント・プロキシを作成します。クライアント・プロキシ内に、このポリシーの構成の一部として有効なユーザー名およびパスワードを指定します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のclientgen Antタスクを使用したクライアント・アーティファクトの生成に関する項

2

WebLogic ServerをSSL用に構成します。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(一方向)に関する項

3

IDストアおよび信頼ストアを構成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのアイデンティティおよび信頼の構成に関する項

4

Wssp1.2-2007-Https-UsernameToken-Plain.xmlをWebサービス・クライアントにアタッチします。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

5

SSLクライアントで信頼ストアおよび他の必要なシステム・プロパティを指定します。

『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティのプログラミング』のJavaクライアントでのSSL認証に関する項

6

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

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスを起動するためのJavaクライアント・アプリケーション・コードの作成に関する項

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

この後の項では、次の相互運用性シナリオにおいて、メッセージ送信最適化メカニズム(MTOM)を使用したSSL経由のユーザー名トークンを実装する方法について説明します。

- 4.6.1「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.6.1 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、MTOMを使用するSSL経由のユーザー名トークンを実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.6.1.1「Oracle WSMポリシーのアタッチと構成」

- 4.6.1.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.6.1.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-17 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Oracle WSM Webサービスを構成します。

「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」の手順を実行してください。

4.6.1.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-18 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

表4-17で作成したWebサービスのクライアント・プロキシを作成します。

「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」の手順を実行してください。

2

Webサービス・クライアントで@MTOM注釈を使用します。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

4.7 SSL経由のSAMLトークン(送信者保証)

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

- 4.7.1「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.7.1 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、SSL経由のSAMLトークン(送信者保証)を実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.7.1.1「Oracle WSMポリシーのアタッチと構成」

- 4.7.1.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.7.1.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-19 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

双方向SSLのoracle/wss_saml_token_over_ssl_service_policyポリシーを構成します。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss_saml_token_over_ssl_service_policyに関する項

2

Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

3

oracle/wss_saml_token_over_ssl_service_policyポリシーをWebサービスにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

4.7.1.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-20 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenを使用して、表4-19で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のclientgen Antタスクを使用したクライアント・アーティファクトの生成に関する項

2

Oracle WebLogic Serverを双方向SSL用に構成します。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(双方向)に関する項

3

IDストアおよび信頼ストアを構成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのアイデンティティおよび信頼の構成に関する項

4

Wssp1.2-2007-Saml1.1-SenderVouches-Https.xmlをWebサービス・クライアントにアタッチします。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

5

SAML資格証明マッピング・プロバイダを構成します。

WebLogic Server管理コンソールで、「セキュリティ・レルム」→「レルム名」→「プロバイダ」→「資格証明マッピング」ページにナビゲートし、「SAMLCredentialMapperV2」タイプの新しい資格証明マッピング・プロバイダを作成します。

新規のプロバイダを選択して「プロバイダ固有」をクリックし、プロバイダを次のように構成します。

1. 「発行者URI」をwww.oracle.comに設定します。

2. 「名前修飾子」をwww.oracle.comに設定します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの資格証明マッピング・プロバイダの構成に関する項

6

Oracle WebLogic Serverを再起動します。

7

SAMLリライイング・パーティを作成します。

「プロファイル」を「WSS/sender-vouches」に設定します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML 1.1リライイング・パーティの作成およびSAML 1.1リライイング・パーティの構成に関する項

8

SAMLリライイング・パーティを構成します。

次のようにSAMLリライイング・パーティを構成します(その他の値はデフォルトの設定のままにしておきます)。

- ターゲットURL: <url_used_to_access_Web_service>

- 説明: <your_description>

「有効」チェック・ボックスを選択し、「保存」をクリックします。

「ターゲットURL」は必ず、クライアントWebサービスに使用されているURLに設定してください。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML 1.1リライイング・パーティの構成に関する項

9

サーブレットを作成し、そのサーブレットからプロキシ・コードをコールします。

10

認証済サブジェクトを作成できるように、基本認証を使用します。

11

SSLクライアントで信頼ストアおよび他の必要なシステム・プロパティを指定します。

『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティのプログラミング』のJavaクライアントでのSSL認証に関する項

12

Webアプリケーション・クライアントを起動します。

SAMLトークンを使用してアイデンティティを伝播するユーザーの資格証明を入力します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスを起動するためのJavaクライアント・アプリケーション・コードの作成に関する項

4.8 MTOMを使用するSSL経由のSAMLトークン(送信者保証)

次の項では、MTOMを使用するSSL経由のSAMLトークン送信者保証を実装する方法について説明します。ここでは、次の相互運用性シナリオについて説明します。

- 4.8.1「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.8.1 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、MTOMを使用するSSL経由のSAMLトークン保証を実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.8.1.1「Oracle WSMポリシーのアタッチと構成」

- 4.8.1.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.8.1.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-21 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Oracle WSM Webサービスを構成します。

「SSL経由のSAMLトークン(送信者保証)」

4.8.1.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-22 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

Oracle WebLogic Webサービス・クライアント・ポリシーを構成します。

「SSL経由のSAMLトークン(送信者保証)」

2

Webサービス・クライアントで@MTOM注釈を使用します。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

4.9 メッセージ保護付きSAML 2.0トークン(送信者保証)(WS-Security 1.1)

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

- 4.9.1「WebLogic Webサービス・ポリシーとの相互運用」

- 4.9.2「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.9.1 WebLogic Webサービス・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きSAML 2.0トークン送信者保証を実装し、WebLogic Webサービス・ポリシーとOracle WSMクライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.9.1.1「WebLogic Webサービス・ポリシーのアタッチと構成」

- 4.9.1.2「Oracle WSMクライアント・ポリシーのアタッチと構成」

4.9.1.1 WebLogic Webサービス・ポリシーのアタッチと構成

WebLogic Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-23 WebLogic Webサービス・ポリシーのアタッチと構成

タスク

説明

参照先

1

Create a WebLogic Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のWebLogic (Java EE) Webサービスを実装するためのロードマップに関する項

2

次のポリシーをアタッチします。

- Wssp1.2-2007-Saml2.0-SenderVouches-Wss1.1.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

メッセージの署名および暗号化のためのキーストア・プロパティを構成します。この構成は、サーバー側で使用されているキーストアと一致させる必要があります。キーストアから2つのキーをエクスポートし、その両方を信頼して信頼ストアにインポートし、信頼ストアを作成します。IDストアおよび信頼ストアを構成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのアイデンティティおよび信頼の構成に関する項を参照してください。

4

メッセージレベルのセキュリティを構成します。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項を参照してください。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのセキュリティ構成の作成に関する項

5

次のアノテーションを使用して、新規の構成をアタッチします。

@WssConfiguration(value="my_security_configuration") my_security_configurationはステップ4で作成したWebセキュリティ構成の名前です。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項

6

Webサービスをデプロイします。

『Oracle Fusion Middleware Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。

7

SAML IDアサータを作成します。

WebLogic Server管理コンソールで、セキュリティ・レルム→レルム名→プロバイダ→「資格証明マッピング」ページに移動し、「SAML2IdentityAsserter」タイプの新しい資格証明マッピング・プロバイダを作成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する項

8

WebLogic Serverを再起動します。

9

ステップ7で作成したIDアサータにIDプロバイダを追加するには、次の手順を実行します。

1. WebLogic管理コンソールで、ステップ7で作成したIDアサータを選択します。

2. 新規のアイデンティティ・プロバイダ・パートナを作成し、「新規」を選択し、新規Webサービスのアイデンティティ・プロバイダ・パートナを選択します。

3. 名前を入力して、「終了」を選択します。

10

次のように、アイデンティティ・プロバイダを構成します。

1. ステップ9で作成したアイデンティティ・プロバイダを選択します。

2. 「有効」チェック・ボックスを選択します。

3. オーディエンスのURIを入力します。例: target:*:/saml20WLSWS-Project1-context-root/Class1Port

4. 「発行者URI」をwww.oracle.comに設定します。

5. 「ターゲットURL」を<url_used_to_access_Web_service>に設定します。

6. 「プロファイル」を「WSS/sender-vouches」に設定します。

4.9.1.2 Oracle WSMクライアント・ポリシーのアタッチと構成

Oracle WSMクライアント・ポリシーでクライアントを構成するには、次のタスクを実行します。

表4-24 Oracle WSMクライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

JDeveloperを使用して、表4-23で作成したWebサービスのクライアントを生成します。Webプロジェクトを作成し、「新規」を選択し、WSDLを使用してクライアント・プロキシを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

前述のプロジェクトにサーブレットを追加します。

3

oracle/wss11_saml20_token_with_message_protection_client_policyポリシーをWebサービス・クライアントにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項

4

クライアント構成内にkeystore.recipient.aliasを指定します。

keystore.recipient.aliasが、Webサービスに対して指定されている復号化キーと同じであることを確認してください。

5

クライアントに指定するkeystore.recipient.aliasキーが、Webサービスに対して構成されている信頼ストア内に信頼できる証明書エントリとして存在していることを確認してください。

6

JDeveloperで、「ADFセキュリティの構成」ウィザードを使用して、フォーム・ベースの認証を備えたセキュアなWebプロジェクトにします。

7

Webアプリケーション・クライアントを起動します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

4.9.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きSAML 2.0トークン送信者保証を実装し、WebLogic Webサービス・クライアント・ポリシーとOracle WSMポリシーの相互運用性を確保する方法について説明します。

- 4.9.2.1「Oracle WSMポリシーのアタッチと構成」

- 4.9.2.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.9.2.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-25 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss11_saml20_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

4.9.2.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-26 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

JDeveloperを使用して、デプロイ済WebサービスのJava EEクライアントを作成します。Webプロジェクトを作成し、WSDLプロキシを使用してプロキシを作成します。

2

次のポリシーをアタッチします。

- Wssp1.2-2007-Saml2.0-SenderVouches-Wss1.1.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

weblogic.jarをフォルダに抽出して、前述のポリシー・ファイルの絶対パスを指定します。

3

前述のWebプロジェクトにサーブレットを追加します。

4

クライアント・サーバー(暗号化キー)およびクライアント証明書を構成します。

指定する暗号化キーが、Webサービスに対して構成されている復号化キーと一致していることを確認してください。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージ保護付きWebサービスを起動するためのクライアント・アプリケーションの更新に関する項

5

基本認証を使用してWebアプリケーション・クライアントを保護します。

『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティのプログラミング』の基本認証のWebアプリケーションの開発に関する項

6

Java EE Webアプリケーション・クライアントをデプロイします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・アプリケーションのデプロイに関する項

7

SAML資格証明マッピング・プロバイダを構成します。

Oracle WebLogic Server管理コンソールで、セキュリティ・レルム→レルム名→プロバイダ→「資格証明マッピング」ページに移動し、「SAML2CredentialMapper」タイプの新しい資格証明マッピング・プロバイダを作成します。

新規のプロバイダを選択して「プロバイダ固有」をクリックし、プロバイダを次のように構成します。

1. 「発行者URI」をwww.oracle.comに設定します。

2. 「名前修飾子」をwww.oracle.comに設定します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの資格証明マッピング・プロバイダの構成に関する項

8

WebLogic Serverを再起動します。

9

新規のサービス・プロバイダ・パートナを作成するには、次の手順を実行します。

1. WebLogic管理コンソールで、ステップ7で作成した資格証明マッパーを選択し、「管理」タブを選択します。

2. 「新規」を選択し、新規Webサービスのサービス・プロバイダ・パートナを選択します。

3. 名前を入力して、「終了」を選択します。

10

次のように、サービス・プロバイダ・パートナを構成します。

1. ステップ9で作成したサービス・プロバイダ・パートナを選択します。

2. 「有効」チェック・ボックスを選択します。

3. オーディエンスのURIを入力します。

4. 「発行者URI」をwww.oracle.comに設定します。

5. 「ターゲットURL」を<url_used_to_access_Web_service>に設定します。

6. 「プロファイル」を「WSS/sender-vouches」に設定します。

11

Webアプリケーション・クライアントを起動します。

SAMLトークンを使用してアイデンティティを伝播するユーザーの資格証明を入力します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスを起動するためのJavaクライアント・アプリケーション・コードの作成に関する項

4.10 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)

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

- 4.10.1「WebLogic Webサービス・ポリシーとの相互運用」

- 4.10.2「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.10.1 WebLogic Webサービス・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きSAMLトークン送信者保証を実装し、WebLogic Webサービス・ポリシーとOracle WSMクライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.10.1.1「WebLogic Webサービス・ポリシーのアタッチと構成」

- 4.10.1.2「Oracle WSMクライアント・ポリシーのアタッチと構成」

4.10.1.1 WebLogic Webサービス・ポリシーのアタッチと構成

WebLogic Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-27 WebLogic Webサービス・ポリシーのアタッチと構成

タスク

説明

参照先

1

Create a WebLogic Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のWebLogic (Java EE) Webサービスを実装するためのロードマップに関する項

2

次のポリシーをアタッチします。

- Wssp1.2-wss11_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

IDストアおよび信頼ストアを構成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのアイデンティティおよび信頼の構成に関する項

4

メッセージレベルのセキュリティを構成します。

これはWS-Security 1.1ポリシーなので、指定する必要があるのは機密保護キーのみです。

- 『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項

- Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのセキュリティ構成の作成に関する項。

5

Webサービスをデプロイします。

『Oracle Fusion Middleware Oracle WebLogic Serverへのアプリケーションのデプロイ』

6

SAMLIdentityAsserterV2認証プロバイダを作成します。

WebLogic Server管理コンソールで、「セキュリティ・レルム」→「レルム名」→「プロバイダ」→「資格証明マッピング」ページにナビゲートし、「SAMLCredentialMapperV2」タイプの新しい資格証明マッピング・プロバイダを作成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する項

7

WebLogic Serverを再起動します。

8

ステップ5で作成した認証プロバイダを選択します。

9

SAMLアサーティング・パーティを作成します。

「プロファイル」を「WSS/sender-vouches」に設定します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML 1.1アサーティング・パーティの作成に関する項

10

SAMLアサーティング・パーティを構成します。

次のようにして、SAMLアサーティング・パーティを構成します。

1. 「発行者URI」をwww.oracle.comに設定します。

2. 「ターゲットURL」を<url_used_to_access_Web_service>に設定します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML 1.1アサーティング・パーティの構成に関する項

4.10.1.2 Oracle WSMクライアント・ポリシーのアタッチと構成

Oracle WSMクライアント・ポリシーでクライアントを構成するには、次のタスクを実行します。

表4-28 Oracle WSMクライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenまたは他のメカニズムを使用して、表4-27で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss11_saml_token_with_message_protection_client_policyポリシーをWebサービス・クライアントにアタッチします。

『Oracle Fusion Middleware 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トークンを使用してアイデンティティを伝播する必要のあるユーザーの有効なユーザー名を指定します。

7

Webアプリケーション・クライアントを起動します。

SAMLトークンを使用してアイデンティティを伝播するユーザーの資格証明を入力します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

4.10.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きSAML 2.0送信者保証を実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.10.2.1「Oracle WSMポリシーのアタッチと構成」

- 4.10.2.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.10.2.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-29 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss11_saml_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

4.10.2.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-30 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

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

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のclientgen Antタスクを使用したクライアント・アーティファクトの生成に関する項

2

次のポリシーをアタッチします。

- Wssp1.2-wss11_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

クライアント・サーバー(暗号化キー)およびクライアント証明書を構成します。

指定する暗号化キーが、Webサービスに対して構成されている復号化キーと一致していることを確認してください。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージ保護付きWebサービスを起動するためのクライアント・アプリケーションの更新に関する項

4

基本認証を使用してWebアプリケーション・クライアントを保護します。

『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティのプログラミング』の基本認証のWebアプリケーションの開発に関する項

5

Webサービス・クライアントをデプロイします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・アプリケーションのデプロイに関する項

6

SAML資格証明マッピング・プロバイダを構成します。

Oracle WebLogic Server管理コンソールで、「セキュリティ・レルム」→「レルム名」→「プロバイダ」→「資格証明マッピング」ページにナビゲートし、「SAMLCredentialMapperV2」タイプの新しい資格証明マッピング・プロバイダを作成します。

新規のプロバイダを選択して「プロバイダ固有」をクリックし、プロバイダを次のように構成します。

1. 「発行者URI」をwww.oracle.comに設定します。

2. 「名前修飾子」をwww.oracle.comに設定します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの資格証明マッピング・プロバイダの構成に関する項

7

WebLogic Serverを再起動します。

8

SAMLリライイング・パーティを作成します。

「プロファイル」を「WSS/sender-vouches」に設定します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML 1.1リライイング・パーティの作成およびSAML 1.1リライイング・パーティの構成に関する項

9

SAMLリライイング・パーティを構成します。

「ターゲットURL」は必ず、クライアントWebサービスに使用されているURLに設定してください。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML 1.1リライイング・パーティの構成に関する項

10

Webアプリケーション・クライアントを起動します。

SAMLトークンを使用してアイデンティティを伝播するユーザーの資格証明を入力します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスを起動するためのJavaクライアント・アプリケーション・コードの作成に関する項

4.11 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)およびMTOM

この項では、次の相互運用性シナリオにおいて、WS-Security 1.1標準に準拠する送信者保証およびメッセージ保護付きSAMLトークン、およびメッセージ送信最適化メカニズム(MTOM)を実装する方法について説明します。

- 4.11.1「WebLogic Webサービス・ポリシーとの相互運用」

- 4.11.2「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.11.1 WebLogic Webサービス・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きSAMLトークン送信者保証およびMTOMを実装し、WebLogic Webサービス・ポリシーとOracle WSMクライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.11.1.1「WebLogic Webサービス・ポリシーのアタッチと構成」

- 4.11.1.2「Oracle WSMクライアント・ポリシーのアタッチと構成」

4.11.1.1 WebLogic Webサービス・ポリシーのアタッチと構成

WebLogic Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-31 WebLogic Webサービス・ポリシーのアタッチと構成

タスク

説明

参照先

1

メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)に関する項の説明に従って、WebLogic Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のWebLogic (Java EE) Webサービスを実装するためのロードマップに関する項

2

WebLogic Webサービス・ポリシーのアタッチと構成に関する項のステップ2で、Webサービスに@MTOM注釈を使用します。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

4.11.1.2 Oracle WSMクライアント・ポリシーのアタッチと構成

Oracle WSMクライアント・ポリシーでクライアントを構成するには、次のタスクを実行します。

表4-32 Oracle WSMクライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

4.10項「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)」の表4-31で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

「管理」タブからwsmtom_policyをアタッチします。

4.10.1.2項「Oracle WSMクライアント・ポリシーのアタッチと構成」のステップ2

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のOracleインフラストラクチャのWebサービス・クライアントへのポリシーのアタッチに関する項

4.11.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きSAMLトークン送信者保証およびMTOMを実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.11.2.1「Oracle WSMポリシーのアタッチと構成」

- 4.11.2.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.11.2.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-33 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Webサービスを作成してデプロイします。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss11_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

4.11.2.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-34 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenを使用して、表4-5で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のclientgen Antタスクを使用したクライアント・アーティファクトの生成に関する項

2

次のポリシーをアタッチします。

- Wssp1.2-2007-Wss1.1-UsernameToken-Plain-EncryptedKey-Basic128.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

クライアントでサーバー(暗号化キー)を構成します。

注意: 指定する暗号化キーが、Webサービスに対して構成されている暗号化キーと一致していることを確認してください。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージ保護付きWebサービスを起動するためのクライアント・アプリケーションの更新に関する項

4

クライアントからWebサービス・メソッドを起動します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスを起動するためのJavaクライアント・アプリケーション・コードの作成に関する項

4.12 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

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

- 4.12.1「WebLogic Webサービス・ポリシーとの相互運用」

- 4.12.2「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

注意:

WS-Security 1.0ポリシーは、レガシー・アプリケーションに対してのみサポートされています。最大のパフォーマンスを実現するためには、WS-Security 1.1ポリシーを使用してください。詳細は、「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)」を参照してください。

4.12.1 WebLogic Webサービス・ポリシーとの相互運用

次の各項では、WS-Security 1.0標準に準拠する送信者保証およびメッセージ保護付きSAMLトークンを実装し、WebLogic Webサービス・ポリシーとOracle WSMクライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.12.1.1「WebLogic Webサービス・ポリシーのアタッチと構成」

- 4.12.1.2「Oracle WSMクライアント・ポリシーのアタッチと構成」

4.12.1.1 WebLogic Webサービス・ポリシーのアタッチと構成

WebLogic Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-35 WebLogic Webサービス・ポリシーのアタッチと構成

タスク

説明

参照先

1

Create a WebLogic Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のWebLogic (Java EE) Webサービスを実装するためのロードマップに関する項

2

次のポリシーをアタッチします。

- Wssp1.2-wss10_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

IDストアおよび信頼ストアを構成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのアイデンティティおよび信頼の構成に関する項

4

メッセージレベルのセキュリティを構成します。

- 『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項

- Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのセキュリティ構成の作成に関する項

5

Webサービスをデプロイします。

『Oracle Fusion Middleware Oracle WebLogic Serverへのアプリケーションのデプロイ』

6

SAMLIdentityAsserterV2認証プロバイダを作成します。

WebLogic Server管理コンソールで、「セキュリティ・レルム」→「レルム名」→「プロバイダ」→「資格証明マッピング」ページにナビゲートし、「SAMLCredentialMapperV2」タイプの新しい資格証明マッピング・プロバイダを作成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する項

7

WebLogic Serverを再起動します。

8

ステップ5で作成した認証プロバイダを選択します。

9

SAMLアサーティング・パーティを作成します。

「プロファイル」を「WSS/sender-vouches」に設定します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML 1.1アサーティング・パーティの作成に関する項

10

SAMLアサーティング・パーティを構成します。

次のようにSAMLアサーティング・パーティを構成します(その他の値はデフォルトの設定のままにしておきます)。

1. 「発行者URI」をwww.oracle.comに設定します。

2. 「ターゲットURL」を<url_used_by_client>に設定します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML 1.1アサーティング・パーティの構成に関する項

4.12.1.2 Oracle WSMクライアント・ポリシーのアタッチと構成

Oracle WSMクライアント・ポリシーでクライアントを構成するには、次のタスクを実行します。

表4-38 Oracle WSMクライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenまたは他のメカニズムを使用して、表4-35で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss10_saml_token_with_message_protection_client_policyポリシーをWebサービス・クライアントにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項

3

ポリシーを構成します。

oracle/wss10_saml_token_with_message_protection_client_policy

4

クライアント(署名および復号化キー)とキーストア受信者別名(暗号化に使用されるサーバー公開鍵)には、必ず別々のキーを使用してください。受信者別名が、Webサービス・ポリシーのセキュリティ構成内に定義されているキーと一致していることを確認してください。

5

クライアントに指定する署名および暗号化キーが、Webサービスに対して構成されている信頼ストア内に信頼できる証明書エントリとして存在していることを確認してください。

6

クライアント構成内に、SAMLトークンを使用してアイデンティティを伝播する必要のあるユーザーの有効なユーザー名を指定します。

7

Webサービス・メソッドを起動します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

4.12.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークンを実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.12.2.1「Oracle WSMポリシーのアタッチと構成」

- 4.12.2.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.12.2.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-37 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss10_saml_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

4.12.2.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-38 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

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

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のclientgen Antタスクを使用したクライアント・アーティファクトの生成に関する項

2

次のポリシーをアタッチします。

- Wssp1.2-wss10_saml_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

クライアント・サーバー(暗号化キー)およびクライアント証明書を構成します。

指定する暗号化キーが、Webサービスに対して構成されている復号化キーと一致していることを確認してください。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージ保護付きWebサービスを起動するためのクライアント・アプリケーションの更新に関する項

4

基本認証を使用してWebアプリケーション・クライアントを保護します。

『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティのプログラミング』の基本認証のWebアプリケーションの開発に関する項

5

Webサービス・クライアントをデプロイします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・アプリケーションのデプロイに関する項

6

SAML資格証明マッピング・プロバイダを構成します。

WebLogic Server管理コンソールで、「セキュリティ・レルム」→「レルム名」→「プロバイダ」→「資格証明マッピング」ページにナビゲートし、「SAMLCredentialMapperV2」タイプの新しい資格証明マッピング・プロバイダを作成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの資格証明マッピング・プロバイダの構成に関する項

7

「SAMLCredentialMapperV2」を選択して「プロバイダ固有」をクリックし、これを次のように構成します。

1. 「発行者URI」をwww.oracle.comに設定します。

2. 「名前修飾子」をwww.oracle.comに設定します。

8

WebLogic Serverを再起動します。

9

SAMLリライイング・パーティを作成します。

「プロファイル」を「WSS/sender-vouches」に設定します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML 1.1リライイング・パーティの作成に関する項

10

SAMLリライイング・パーティを構成します。

「ターゲットURL」は必ず、クライアントWebサービスに使用されているURLに設定してください。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML 1.1リライイング・パーティの構成に関する項

11

Webアプリケーション・クライアントを起動し、適切な資格証明を入力します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスを起動するためのJavaクライアント・アプリケーション・コードの作成に関する項

4.13 メッセージ保護付き相互認証(WS-Security 1.0)

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付き相互認証を実装する方法について説明します。

- 4.13.1「WebLogic Webサービス・ポリシーとの相互運用」

- 4.13.2「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.13.1 WebLogic Webサービス・ポリシーとの相互運用

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付き相互認証を実装し、WebLogic Webサービス・ポリシーとOracle WSMクライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.13.1.1「WebLogic Webサービス・ポリシーのアタッチと構成」

- 4.13.1.2「Oracle WSMクライアント・ポリシーのアタッチと構成」

4.13.1.1 WebLogic Webサービス・ポリシーのアタッチと構成

WebLogic Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-39 WebLogic Webサービス・ポリシーのアタッチと構成

タスク

説明

参照先

1

Create a WebLogic Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のWebLogic (Java EE) Webサービスを実装するためのロードマップに関する項

2

次のポリシーをアタッチします。

- Wssp1.2-wss10_x509_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

IDストアおよび信頼ストアを構成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのアイデンティティおよび信頼の構成に関する項

4

メッセージレベルのセキュリティを構成します。

- 『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項

- Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのセキュリティ構成の作成に関する項

5

X.509およびユーザー名トークンのトークン・ハンドラを作成して構成します。WebLogic管理コンソールで、ドメインの「Webサービス・セキュリティ」ページにナビゲートし、次のようにしてトークン・ハンドラを作成します。

- ユーザー名トークンのトークン・ハンドラを作成し、次のように構成します。

- 名前: <name>

- クラス名: weblogic.xml.crypto.wss.UsernameTokenHandler

- トークンのタイプ: ut

- 処理順序: 1

- X.509のトークン・ハンドラを作成し、次のように構成します。

- 名前: <name>

- クラス名: weblogic.xml.crypto.wss.BinarySecurityTokenHandler

- トークンのタイプ: x509

- 処理順序: 0

- X.509のトークン・ハンドラに対しては、次のプロパティを追加します。

- 名前: UserX509ForIdentity

- 値: true

- 暗号化: False

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのセキュリティ構成のトークン・ハンドラの作成に関する項

6

資格証明マッピング・プロバイダを構成します。

PKICredentialMapperを作成し、次のように構成します(その他の値はすべてデフォルト設定のままにしておきます)。

- キーストア・プロバイダ: なし

- キーストアのタイプ: jks

- キーストア・ファイル名: default_keystore.jks

- キーストアのパスフレーズ: <password>

- キーストアのパスフレーズを確認: <password>

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの資格証明マッピング・プロバイダの構成に関する項

7

認証を構成します。

「認証」タブを選択し、次のように構成します。

- 「DefaultIdentityAsserter」をクリックし、「X.509」を「選択済み」アクティブ・タイプに追加します。

- 「プロバイダ固有」をクリックし、次のように構成します。

- デフォルト・ユーザー名マッパーの属性のタイプ: CN

- アクティブなタイプ: X.509

- デフォルト・ユーザー名マッパーの使用: True

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する項

8

ユーザーを追加していない場合、証明書で指定されている一般名(CN)ユーザーを追加します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのユーザーの作成に関する項

9

Oracle WebLogic Serverを再起動します。

10

Webサービスをデプロイします。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのインストールに関する項

4.13.1.2 Oracle WSMクライアント・ポリシーのアタッチと構成

Oracle WSMクライアント・ポリシーでクライアントを構成するには、次のタスクを実行します。

表4-40 Oracle WSMクライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenまたは他のメカニズムを使用して、表4-39で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

wss10_x509_token_with_message_protection_client_policyポリシーをクライアントにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

3

クライアントでサーバー(暗号化キー)を構成します。

指定する暗号化キーが、Webサービスに対して構成されている暗号化キーと一致していることを確認してください。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージ保護付きWebサービスを起動するためのクライアント・アプリケーションの更新に関する項

4

クライアントからWebサービス・メソッドを起動します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

4.13.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.13.2.1「Oracle WSMポリシーのアタッチと構成」

- 4.13.2.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.13.2.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-41 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss10_x509_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

4.13.2.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-42 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenを使用して、表4-41で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のclientgen Antタスクを使用したクライアント・アーティファクトの生成に関する項

2

次のポリシーをアタッチします。

- Wssp1.2-wss10_x509_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

クライアントでサーバー(暗号化キー)を構成します。

指定する暗号化キーが、Webサービスに対して構成されている暗号化キーと一致していることを確認してください。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージ保護付きWebサービスを起動するためのクライアント・アプリケーションの更新に関する項

4

クライアントからWebサービス・メソッドを起動します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスを起動するためのJavaクライアント・アプリケーション・コードの作成に関する項

4.14 メッセージ保護付き相互認証(WS-Security 1.1)

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付き相互認証を実装する方法について説明します。

- 4.13.1「WebLogic Webサービス・ポリシーとの相互運用」

- 4.13.2「WebLogic Webサービス・クライアント・ポリシーとの相互運用」

4.14.1 WebLogic Webサービス・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付き相互認証を実装し、WebLogic Webサービス・ポリシーとOracle WSMクライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.14.1.1「WebLogic Webサービス・ポリシーのアタッチと構成」

- 4.14.1.2「Oracle WSMクライアント・ポリシーのアタッチと構成」

4.14.1.1 WebLogic Webサービス・ポリシーのアタッチと構成

WebLogic Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-43 WebLogic Webサービス・ポリシーのアタッチと構成

タスク

説明

参照先

1

Create a WebLogic Webサービスを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のWebLogic (Java EE) Webサービスを実装するためのロードマップに関する項

2

次のポリシーをアタッチします。

- Wssp1.2-wss11_x509_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

IDストアおよび信頼ストアを構成します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのアイデンティティおよび信頼の構成に関する項

4

メッセージレベルのセキュリティを構成します。

- 『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージレベルのセキュリティの構成に関する項

- Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのセキュリティ構成の作成に関する項

5

X.509およびユーザー名トークンのトークン・ハンドラを作成して構成します。WebLogic管理コンソールで、ドメインの「Webサービス・セキュリティ」ページにナビゲートし、次のようにしてトークン・ハンドラを作成します。

- ユーザー名トークンのトークン・ハンドラを作成し、次のように構成します。

- 名前: <name>

- クラス名: weblogic.xml.crypto.wss.UsernameTokenHandler

- トークンのタイプ: ut

- 処理順序: 1

- X.509のトークン・ハンドラを作成し、次のように構成します。

- 名前: <name>

- クラス名: weblogic.xml.crypto.wss.BinarySecurityTokenHandler

- トークンのタイプ: x509

- 処理順序: 0

- X.509のトークン・ハンドラに対しては、次のプロパティを追加します。

- 名前: UserX509ForIdentity

- 値: true

- 暗号化: False

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのセキュリティ構成のトークン・ハンドラの作成に関する項

6

資格証明マッピング・プロバイダを構成します。

PKICredentialMapperを作成し、次のように構成します(その他の値はすべてデフォルト設定のままにしておきます)。

- キーストア・プロバイダ: なし

- キーストアのタイプ: jks

- キーストア・ファイル名: default_keystore.jks

- キーストアのパスフレーズ: <password>

- キーストアのパスフレーズを確認: <password>

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの資格証明マッピング・プロバイダの構成に関する項

7

認証を構成します。

「認証」タブを選択し、次のように構成します。

- 「DefaultIdentityAsserter」をクリックし、「X.509」を「選択済み」アクティブ・タイプに追加します。

- 「プロバイダ固有」をクリックし、次のように構成します。

- デフォルト・ユーザー名マッパーの属性のタイプ: CN

- アクティブなタイプ: X.509

- デフォルト・ユーザー名マッパーの使用: True

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する項

8

ユーザーを追加していない場合、証明書で指定されている一般名(CN)ユーザーを追加します。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのユーザーの作成に関する項

9

Oracle WebLogic Serverを再起動します。

10

Webサービスをデプロイします。

Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのWebサービスのインストールに関する項

4.14.1.2 Oracle WSMクライアント・ポリシーのアタッチと構成

Oracle WSMクライアント・ポリシーでクライアントを構成するには、次のタスクを実行します。

表4-44 Oracle WSMクライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenまたは他のメカニズムを使用して、表4-43で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

wss11_x509_token_with_message_protection_client_policyポリシーをクライアントにアタッチします。

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

<orasp:x509-token orasp:sign-key-ref-mech="thumbprint"

orasp:enc-key-ref-mech="thumbprint"/>

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

3

クライアントでサーバー(暗号化キー)を構成します。

指定する暗号化キーが、Webサービスに対して構成されている暗号化キーと一致していることを確認してください。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージ保護付きWebサービスを起動するためのクライアント・アプリケーションの更新に関する項

4

クライアントからWebサービス・メソッドを起動します。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

4.14.2 WebLogic Webサービス・クライアント・ポリシーとの相互運用

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付き相互認証を実装し、Oracle WSM Webサービス・ポリシーとWebLogic Webサービス・クライアント・ポリシーの相互運用性を確保する方法について説明します。

- 4.14.2.1「Oracle WSMポリシーのアタッチと構成」

- 4.14.2.2「WebLogic Webサービス・クライアント・ポリシーのアタッチと構成」

4.14.2.1 Oracle WSMポリシーのアタッチと構成

Oracle WSM Webサービス・ポリシーでWebサービスを構成するには、次のタスクを実行します。

表4-45 Oracle WSMポリシーのアタッチと構成

タスク

説明

参照先

1

Webサービスを作成してデプロイします。

『Oracle Fusion Middleware Webサービスの紹介』のOracle Fusion Middleware Webサービスを実装するためのロードマップに関する項

2

oracle/wss11_x509_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項

4.14.2.2 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

WebLogic Webサービス・クライアント・ポリシーを使用するクライアントを構成するには、次のタスクを実行します。

表4-46 WebLogic Webサービス・クライアント・ポリシーのアタッチと構成

タスク

説明

参照先

1

clientgenを使用して、表4-45で作成したWebサービスのクライアント・プロキシを作成します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のclientgen Antタスクを使用したクライアント・アーティファクトの生成に関する項

2

次のポリシーをアタッチします。

- Wssp1.2-wss11_x509_token_with_message_protection_owsm_policy.xml

- Wssp1.2-2007-SignBody.xml

- Wssp1.2-2007-EncryptBody.xml

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』の@Policy注釈と@Policies注釈を使用したJWSファイルの更新に関する項

3

クライアントでサーバー(暗号化キー)を構成します。

注意: 指定する暗号化キーが、Webサービスに対して構成されている暗号化キーと一致していることを確認してください。

『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』のメッセージ保護付きWebサービスを起動するためのクライアント・アプリケーションの更新に関する項

4

クライアントからWebサービス・メソッドを起動します。

『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』のWebサービスを起動するためのJavaクライアント・アプリケーション・コードの作成に関する項

5 Microsoft WCF/.NET 3.5のセキュリティ環境との相互運用性

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

- Microsoft WCF/.NET 3.5のセキュリティ環境との相互運用性の概要

- メッセージ送信最適化メカニズム(MTOM)

- メッセージ保護付きユーザー名トークン(WS-Security 1.1)

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

- メッセージ保護付き相互認証(WS-Security 1.1)

- 「メッセージ保護付きKerberos」

- Microsoft Active Directory Federation Services 2.0 (ADFS 2.0) STSを使用するWCF/.NET 3.5クライアント

5.1 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ポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の次の項を参照してください。

- Webサービスへのポリシーのアタッチに関する項

- ポリシーの構成に関する項

- 事前定義済ポリシーに関する項

表5-1は、セキュリティ要件(認証、メッセージ保護およびトランスポート)に基づいたMicrosoft .NET 3.5の最も一般的な相互運用性シナリオをまとめたものです。

注意:

以降のシナリオでは、v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

また、キーが適切な拡張(DigitalSignature、Non_repudiation、Key_EnciphermentおよびData_Enciphermentなど)を使用していることも確認してください。

表5-1 Microsoft WCF/.NET 3.5のセキュリティ環境との相互運用性

相互運用性シナリオ

クライアント→Webサービス

Oracle WSM 11gのポリシー

Microsoft WCF/.NET 3.5のポリシー

「メッセージ送信最適化メカニズム(MTOM)」

Microsoft WCF/.NET 3.5→Oracle WSM 11g

oracle/wsmtom_service_policy

「Microsoft WCF/.NET 3.5クライアントの構成」を参照

「メッセージ送信最適化メカニズム(MTOM)」

Oracle WSM 11g→Microsoft WCF/.NET 3.5

oracle/wsmtom_client_policy

「Microsoft WCF/.NET 3.5 Webサービスの構成」を参照

「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」

Microsoft WCF/.NET 3.5→Oracle WSM 11g

oracle/wss11_username_token_with_message_protection_service_policy

または

oracle/wss11_saml_or_username_token_with_message_protection_service_policy

「Microsoft WCF/.NET 3.5クライアントの構成」を参照

「メッセージ保護付きユーザー名トークン(WS-Security 1.1)」

Oracle WSM 11g→Microsoft WCF/.NET 3.5

oracle/wss11_username_token_with_message_protection_client_policy

「Microsoft WCF/.NET 3.5 Webサービスの構成」を参照

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

Microsoft WCF/.NET 3.5→Oracle WSM 11g

oracle/wss_saml_or_username_token_over_ssl_service_policy

または

oracle/wss_username_token_over_ssl_service_policy

「Microsoft WCF/.NET 3.5クライアントの構成」を参照

「メッセージ保護付き相互認証(WS-Security 1.1)」

Microsoft WCF/.NET 3.5→Oracle WSM 11g

oracle/wss11_x509_token_with_message_protection_service_policy

「Microsoft WCF/.NET 3.5クライアントの構成」を参照

「メッセージ保護付き相互認証(WS-Security 1.1)」

Oracle WSM 11g→Microsoft WCF/.NET 3.5

oracle/wss11_x509_token_with_message_protection_client_policy

「Microsoft WCF/.NET 3.5 Webサービスの構成」を参照

「メッセージ保護付きKerberos」

Microsoft WCF/.NET 3.5→Oracle WSM 11g

oracle/wss11_kerberos_with_message_protection_service_policy

「Microsoft WCF/.NET 3.5クライアントの構成」を参照

5.2 メッセージ送信最適化メカニズム(MTOM)

この項では、次の相互運用性シナリオにおいてMTOMを実装する方法について説明します。

- 「Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスの構成」

5.2.1 Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成

Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

5.2.1.1 Oracle WSM 11g Webサービスの構成

1. Webサービス・アプリケーションを作成します。

2. oracle/wsmotom_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

3. アプリケーションをデプロイします。

5.2.1.2 Microsoft WCF/.NET 3.5クライアントの構成

1. SVCUtilユーティリティを使用して、デプロイされたWebサービスからクライアント・プロキシおよび構成ファイルを作成します。「MTOM相互運用性のためのapp.configファイルの例」を参照してください。

2. クライアント・プログラムを実行します。

MTOM相互運用性のためのapp.configファイルの例

app.configファイルの例を次に示します。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding name="CustomBinding_IMTOMService">
<mtomMessageEncoding maxReadPoolSize="64"
maxWritePoolSize="16"
messageVersion="Soap12" maxBufferSize="65536"
writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength=
"8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</mtomMessageEncoding>
<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="CustomBinding_IMTOMService"
contract="IMTOMService" name="CustomBinding_IMTOMService" >
</endpoint>
</client>
</system.serviceModel>
</configuration>

5.2.2 Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスの構成

Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスを構成するには、次の各項で説明する手順を実行します。

5.2.2.1 Microsoft WCF/.NET 3.5 Webサービスの構成

1. .NET Webサービスを作成します。
詳細は、http://msdn.microsoft.com/en-us/library/ms731835.aspxの『How to: Define a Windows Communication Foundation Service Contract』を参照してください。

.NET Webサービスの例については、「MTOM相互運用性のための.NET Webサービスの例」を参照してください。

2. アプリケーションをデプロイします。

5.2.2.2 Oracle WSM 11gクライアントの構成

1. JDeveloperを使用して、.NET Webサービスを使用するSOAコンポジットを作成します。詳細は、SOA Suiteの開発者ガイドを参照してください。

2. oracle/wsmtom_client_policyポリシーをWebサービス・クライアントにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

MTOM相互運用性のための.NET Webサービスの例

MTOM相互運用性のための.NET Webサービスの例を次に示します。

static void Main(string[] args)
{
string uri = "http://host:port/TEST/MTOMService/SOA/MTOMService";
// Step 1 of the address configuration procedure: Create a URI to serve as the base address.
Uri baseAddress = new Uri(uri);

// Step 2 of the hosting procedure: Create ServiceHost
ServiceHost selfHost = new ServiceHost(typeof(MTOMService), baseAddress);

try {
HttpTransportBindingElement hb = new HttpTransportBindingElement();
hb.ManualAddressing = false;
hb.MaxBufferPoolSize = 2147483647;
hb.MaxReceivedMessageSize = 2147483647;
hb.AllowCookies = false;
hb.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
hb.KeepAliveEnabled = true;
hb.MaxBufferSize = 2147483647;
hb.ProxyAuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
hb.Realm = "";
hb.TransferMode = System.ServiceModel.TransferMode.Buffered;
hb.UnsafeConnectionNtlmAuthentication = false;
hb.UseDefaultWebProxy = true;
MtomMessageEncodingBindingElement me = new MtomMessageEncodingBindingElement();
me.MaxReadPoolSize=64;
me.MaxWritePoolSize=16;
me.MessageVersion=System.ServiceModel.Channels.MessageVersion.Soap12;
me.WriteEncoding = System.Text.Encoding.UTF8;
me.MaxWritePoolSize = 2147483647;
me.MaxBufferSize = 2147483647;
me.ReaderQuotas.MaxArrayLength = 2147483647;
CustomBinding binding1 = new CustomBinding();
binding1.Elements.Add(me);
binding1.Elements.Add(hb);
ServiceEndpoint ep = selfHost.AddServiceEndpoint(typeof(IMTOMService), binding1,
"MTOMService");
EndpointAddress myEndpointAdd = new EndpointAddress(new Uri(uri),
EndpointIdentity.CreateDnsIdentity("WSMCert3"));
ep.Address = myEndpointAdd;

// Step 4 of the hosting procedure: Enable metadata exchange.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
selfHost.Description.Behaviors.Add(smb);
using (ServiceHost host = new ServiceHost(typeof(MTOMService)))
{
System.ServiceModel.Description.ServiceDescription svcDesc =
selfHost.Description;
ServiceDebugBehavior svcDebug =
svcDesc.Behaviors.Find<ServiceDebugBehavior>();
svcDebug.IncludeExceptionDetailInFaults = true;
}

// Step 5 of the hosting procedure: Start (and then stop) the service.
selfHost.Open();
Console.WriteLine("The service " + uri + " is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown the service.
selfHost.Close();
}
catch (CommunicationException ce)
{
Console.WriteLine("An exception occurred: {0}", ce.Message);
selfHost.Abort();
}
}

5.3 メッセージ保護付きユーザー名トークン(WS-Security 1.1)

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

- 「Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスの構成」

5.3.1 Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成

Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

5.3.1.1 Oracle WSM 11g Webサービスの構成

1. Webサービス・アプリケーションを作成します。

2. 次のポリシーの1つをWebサービスにアタッチします。
oracle/wss11_username_token_with_message_protection_service_policy

oracle/wss11_saml_or_username_token_with_message_protection_service_policy

ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

3. 次のコマンドを使用して、サービス側のキーストアからX.509証明書ファイルを.cerファイル(alice.cerなど)にエクスポートします。

keytool -export -alias alice -file C:\alice.cer -keystore default-keystore.jks

5.3.1.2 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』を参照してください。

1. コマンド・プロンプトを開きます。

2. mmcと入力して[Enter]を押します。

3. 「File」→「Add/Remove snap-in」を選択します。

4. 「Add and Choose Certificates」を選択します。

注意:

ローカル・マシン・ストア内の証明書を表示するためには、管理者ロールを持っている必要があります。

5. 「Add」を選択します。

6. 「My user account」→「finish」を選択します。

7. 「OK」をクリックします。

8. 「Console Root」→「Certificates -Current user」→「Personal」→「Certificates」の順に開きます。

9. 「Certificates」を右クリックし、「All tasks」→「Import」を選択してCertificate importウィザードを起動します。

10. 「Next」をクリックし、「Browse」を選択して、前にエクスポートした.cerファイルに移動します。

11. 「Next」をクリックし、デフォルトを受け入れてウィザードを終了します。

2. WebサービスのWSDLを使用して、.NETクライアントを生成します。
詳細は、http://msdn.microsoft.com/en-us/library/ms733133.aspxの『How to: Create a Windows Communication Foundation Client』を参照してください。

注意:

SVCUtilは、<sp:SignedParts>のようなセキュリティ・ポリシー・アサーションをサポートしていません。回避策として、次のようにします。

- ポリシーをデタッチします。

- SVCUtilを使用してプロキシを作成します。

- ポリシーをアタッチして元に戻します。

3. クライアント・プロジェクトのSolution Explorerで、「references」を右クリックして「Add reference」を選択し、C:\Windows\Microsoft .NET framework\v3.0\Windows Communication Framework\System.Runtime.Serialization.dllを参照することにより、参照を追加します。

4. 「app.configファイルの編集」の説明に従って、.NETプロジェクト内のapp.configを編集して証明書ファイルを更新し、リプレイを無効化します。

5. プロジェクトをコンパイルします。

6. コマンド・プロンプトを開いて、プロジェクトのDebugフォルダに移動します。

7. <client_project_name>.exeと入力して[Enter]を押します。

app.configファイルの編集

次の例に示すようにapp.configファイルを編集して、証明書ファイルを更新し、リプレイを無効化します(変更部分は太字で示されています)。デフォルトのキー設定に従う場合は、<certificate_cn>をaliceに設定する必要があります。

<?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="HelloWorldSoapHttp"
contract="HelloWorld"
name="HelloWorldPort"
behaviorConfiguration="secureBehaviour" >
<identity>
<dns value="<certificate_cn>"/>
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>

5.3.2 Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスの構成

Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスを構成するには、次の各項で説明する手順を実行します。

5.3.2.1 Microsoft WCF/.NET 3.5 Webサービスの構成

1. .NET Webサービスを作成します。
詳細は、http://msdn.microsoft.com/en-us/library/ms731835.aspxの『How to: Define a Windows Communication Foundation Service Contract』を参照してください。

必ず、SymmetricSecurityBindingElementを使用してWebサービスのカスタム・バインディングを作成してください。例は、「.NET Webサービス・クライアントの例」を参照してください。

2. 証明書ファイルを作成して、Webサービス・サーバー上のキーストアにインポートします。
VisualStudioを使用する場合、コマンドは次のようになります。

makecert -r -pe -n "CN=wsmcert3" -sky exchange -ss my C:\wsmcert3.cer

このコマンドにより、証明書が作成されてmmcにインポートされます。

コマンドの結果が期待どおりにならない場合は、次のコマンド・シーケンスを試行してください。http://www.microsoft.com/whdc/devtools/WDK/default.mspxのWindows Developer Kit (WDK)をダウンロードする必要があります。

makecert -r -pe -n "CN=wsmcert3" -sky exchange -ss my -sv wscert3.pvk C:\wsmcert3.cer
pvk2pfx.exe -pvk wscert3.pvk -spc wsmcert3.cer -pfx PRF_WSMCert3.pfx -pi welcome1

次に、PRF_WSMCert3.pfxをmmcにインポートします。

3. keytoolコマンドを使用して、Webサービス・サーバー上に作成された証明書をクライアント・サーバーにインポートします。例:

keytool -import -alias wsmcert3 -file C:\wsmcert3.cer -keystore <owsm_client_keystore>

4. Solutions Explorerで「Web service Solution」プロジェクトを右クリックし、「Open Folder In Windows Explorer」をクリックします。

5. bin/Debugフォルダに移動します。

6. <project>.exeファイルをダブルクリックします。このコマンドにより、指定したURLでWebサービスが実行されます。

5.3.2.2 Oracle WSM 11gクライアントの構成

1. JDeveloperを使用して、.NET Webサービスを使用するSOAコンポジットを作成します。詳細は、SOA Suiteの開発者ガイドを参照してください。

2. JDeveloperで、.NETサービスのWSDLを使用してパートナ・リンクを作成します。

3. oracle/wss11_username_token_with_message_protection_client_policyポリシーをWebサービス・クライアントにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

4. csf-keyおよびkeystore.recipient.aliasの構成を指定します。
この情報を指定するには、ポリシーをアタッチするときにポリシー構成をオーバーライドします。詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のオーバーライド可能なクライアントのアタッチに関する項を参照してください。

必ず、ステップ1でインポートした証明書(wsmcert3)の別名としてkeystore.recipient.aliasを構成してください。例:

<wsp:PolicyReference URI="oracle/wss11_username_token_with_message_protection_client_policy"
orawsp:category="security" orawsp:status="enabled"/>
<property name="csf-key" type="xs:string"
many="false">basic.credentials</property>
<property name="keystore.recipient.alias" type="xs:string"
many="false">wsmcert3</property>

5.3.2.3 .NET Webサービス・クライアントの例

static void Main(string[] args)
{
// Step 1 of the address configuration procedure: Create a URI to serve as the
// base address.
// Step 2 of the hosting procedure: Create ServiceHost
string uri = "http://<host>:<port>/TEST/NetService";
Uri baseAddress = new Uri(uri);

ServiceHost selfHost = new ServiceHost(typeof(CalculatorService), baseAddress);

try
{
SymmetricSecurityBindingElement sm =
SymmetricSecurityBindingElement.CreateUserNameForCertificateBindingElement();
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.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005
WSSecurityPolicy11BasicSecurityProfile10;
sm.RequireSignatureConfirmation = true;
sm.LocalClientSettings.CacheCookies = true;
sm.LocalClientSettings.DetectReplays = true;
sm.LocalClientSettings.ReplayCacheSize = 900000;
sm.LocalClientSettings.MaxClockSkew = new TimeSpan(00, 05, 00);
sm.LocalClientSettings.MaxCookieCachingTime = TimeSpan.MaxValue;
sm.LocalClientSettings.ReplayWindow = new TimeSpan(00, 05, 00); ;
sm.LocalClientSettings.SessionKeyRenewalInterval = new TimeSpan(10, 00, 00);
sm.LocalClientSettings.SessionKeyRolloverInterval = new TimeSpan(00, 05, 00); ;
sm.LocalClientSettings.ReconnectTransportOnFailure = true;
sm.LocalClientSettings.TimestampValidityDuration = new TimeSpan(00, 05, 00); ;
sm.LocalClientSettings.CookieRenewalThresholdPercentage = 60;
sm.LocalServiceSettings.DetectReplays = false;
sm.LocalServiceSettings.IssuedCookieLifetime = new TimeSpan(10, 00, 00);
sm.LocalServiceSettings.MaxStatefulNegotiations = 128;
sm.LocalServiceSettings.ReplayCacheSize = 900000;
sm.LocalServiceSettings.MaxClockSkew = new TimeSpan(00, 05, 00);
sm.LocalServiceSettings.NegotiationTimeout = new TimeSpan(00, 01, 00);
sm.LocalServiceSettings.ReplayWindow = new TimeSpan(00, 05, 00);
sm.LocalServiceSettings.InactivityTimeout = new TimeSpan(00, 02, 00);
sm.LocalServiceSettings.SessionKeyRenewalInterval = new TimeSpan(15, 00, 00);
sm.LocalServiceSettings.SessionKeyRolloverInterval = new TimeSpan(00, 05, 00);
sm.LocalServiceSettings.ReconnectTransportOnFailure = true;
sm.LocalServiceSettings.MaxPendingSessions = 128;
sm.LocalServiceSettings.MaxCachedCookies = 1000;
sm.LocalServiceSettings.TimestampValidityDuration = new TimeSpan(15, 00, 00);
HttpTransportBindingElement hb = new HttpTransportBindingElement();
hb.ManualAddressing = false;
hb.MaxBufferPoolSize = 524288;
hb.MaxReceivedMessageSize = 65536;
hb.AllowCookies = false;
hb.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
hb.KeepAliveEnabled = true;
hb.MaxBufferSize = 65536;
hb.ProxyAuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
hb.Realm = "";
hb.TransferMode = System.ServiceModel.TransferMode.Buffered;
hb.UnsafeConnectionNtlmAuthentication = false;
hb.UseDefaultWebProxy = true;
TextMessageEncodingBindingElement tb1 = new TextMessageEncodingBindingElement();
tb1.MaxReadPoolSize = 64;
tb1.MaxWritePoolSize = 16;
tb1.MessageVersion = System.ServiceModel.Channels.MessageVersion.Soap12;
tb1.WriteEncoding = System.Text.Encoding.UTF8;
CustomBinding binding1 = new CustomBinding(sm);
binding1.Elements.Add(tb1);
binding1.Elements.Add(hb);
ServiceEndpoint ep = selfHost.AddServiceEndpoint(typeof(ICalculator), binding1,
"CalculatorService");

EndpointAddress myEndpointAdd = new EndpointAddress(
new Uri(uri),
EndpointIdentity.CreateDnsIdentity("WSMCert3"));
ep.Address = myEndpointAdd;

// Step 4 of the hosting procedure: Enable metadata exchange.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
selfHost.Description.Behaviors.Add(smb);
selfHost.Credentials.ServiceCertificate.SetCertificate(StoreLocation.CurrentUser,
StoreName.My,
X509FindType.FindBySubjectName, "WSMCert3");
selfHost.Credentials.ClientCertificate.Authentication.CertificateValidationMode =
X509CertificateValidationMode.PeerOrChainTrust;
selfHost.Credentials.UserNameAuthentication.UserNamePasswordValidationMode =
UserNamePasswordValidationMode.Custom;
CustomUserNameValidator cu = new CustomUserNameValidator();
selfHost.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator = cu;
using (ServiceHost host = new ServiceHost(typeof(CalculatorService)))
{
System.ServiceModel.Description.ServiceDescription svcDesc = selfHost.Description;
ServiceDebugBehavior svcDebug = svcDesc.Behaviors.Find<ServiceDebugBehavior>();
svcDebug.IncludeExceptionDetailInFaults = true;
}

// Step 5 of the hosting procedure: Start (and then stop) the service.
selfHost.Open();
Console.WriteLine("The Calculator service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
selfHost.Close();
}
catch (CommunicationException ce)
{
Console.WriteLine("An exception occurred: {0}", ce.Message);
selfHost.Abort();
}
}

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

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

- 「Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成」

5.4.1 Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成

Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

5.4.1.1 Oracle WSM 11g Webサービスの構成

1. サーバーをSSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(一方向)およびWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

2. 次のポリシーの1つのコピーを作成します。
oracle/wss_username_token_over_ssl_service_policy

oracle/wss_saml_or_username_token_over_ssl_service_policy

注意:

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

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

1. 「必要な作成時間」構成設定を無効化します。

2. 「Nonceが必要」構成設定を無効化します。

3. それ以外の構成設定はすべてデフォルトの構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

3. ポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

5.4.1.2 Microsoft WCF/.NET 3.5クライアントの構成

1. WebサービスのWSDLを使用して、.NETクライアントを生成します。
詳細は、http://msdn.microsoft.com/en-us/library/ms733133.aspxの『How to: Create a Windows Communication Foundation Client』を参照してください。

2. クライアント・プロジェクトのSolution Explorerで、「references」を右クリックして「Add reference」を選択し、C:\Windows\Microsoft .NET framework\v3.0\Windows Communication Framework\System.Runtime.Serialization.dllを参照することにより、参照を追加します。

3. 「app.configファイルの編集」の説明に従って、app.configファイルを編集します。

4. プロジェクトをコンパイルします。

5. コマンド・プロンプトを開いて、プロジェクトのDebugフォルダに移動します。

6. <client_project_name>.exeと入力して[Enter]を押します。

app.configファイルの編集

次の例に示すようにapp.configファイルを編集して、証明書ファイルを更新し、リプレイを無効化します(変更部分は太字で示されています)。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding name="BPELProcess1Binding">
<security defaultAlgorithmSuite="Basic128"
authenticationMode="UserNameOverTransport"
requireDerivedKeys="false" securityHeaderLayout="Lax" includeTimestamp="true"
keyEntropyMode="CombinedEntropy" messageProtectionOrder="SignBeforeEncrypt"
messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversation
February2005WSSecurityPolicy11BasicSecurityProfile10"
requireSignatureConfirmation="true">
<localClientSettings cacheCookies="true" detectReplays="true"
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>
<httpsTransport 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"  requireClientCertificate="false"/>
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="
https://host:port/soa-infra/services/default/IO_NET6/bpelprocess1_client_ep"
binding="customBinding" bindingConfiguration="BPELProcess1Binding"
contract="BPELProcess1" name="BPELProcess1_pt" />
</client>
</system.serviceModel>
</configuration>

5.5 メッセージ保護付き相互認証(WS-Security 1.1)

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付き相互認証を実装する方法について説明します。

- 「相互運用性のための構成の前提条件」

- 「Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスの構成」

相互運用性のための構成の前提条件

1. 次のコマンドを使用して、サービス側のキーストアからX.509証明書ファイルを.cerファイル(alice.cerなど)にエクスポートします。

keytool -export -alias alice -file C:\alice.cer -keystore default-keystore.jks

2. Microsoft Management Console (mmc)を使用して、(前にエクスポートした)証明書ファイルをクライアント・サーバー上のキーストアにインポートします。詳細は、http://msdn.microsoft.com/en-us/library/ms788967.aspxの『How to: View Certificates with the MMC Snap-in』を参照してください。

1. コマンド・プロンプトを開きます。

2. mmcと入力して[Enter]を押します。

3. 「File」→「Add/Remove snap-in」を選択します。

4. 「Add and Choose Certificates」を選択します。

注意:

ローカル・マシン・ストア内の証明書を表示するためには、管理者ロールを持っている必要があります。

5. 「Add」を選択します。

6. 「My user account」→「finish」を選択します。

7. 「OK」をクリックします。

8. 「Console Root」→「Certificates -Current user」→「Personal」→「Certificates」の順に開きます。

9. 「Certificates」を右クリックし、「All tasks」→「Import」を選択してCertificate importウィザードを起動します。

10. 「Next」をクリックし、「Browse」を選択して、前にエクスポートした.cerファイルに移動します。

11. 「Next」をクリックし、デフォルトを受け入れてウィザードを終了します。

5.5.1 Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成

Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

5.5.1.1 Oracle WSM 11g Webサービスの構成

1. SOAコンポジットを作成してデプロイします。

2. Enterprise Managerで、次のポリシーをクローニングします。
oracle/wss11_x509_token_with_message_protection_service_policy

ポリシー名をwss11_x509_token_with_message_protection_service_policy_netに変更します。

3. wss11_x509_token_with_message_protection_service_policy_netをエクスポートします。encrypted="true"を"false"に変更し、再びインポートします。

<orasp:x509-token orasp:enc-key-ref-mech="thumbprint" orasp:is-encrypted="false" orasp:is-signed="false" orasp:sign-key-ref-mech="direct"/>

4. Enterprise Managerを使用して、ポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

5.5.1.2 Microsoft WCF/.NET 3.5クライアントの構成

1. SVCUtilユーティリティを使用して、クライアント・プロキシを作成し(「サンプルのクライアント・プログラム」を参照)、デプロイされたWebサービスから構成ファイルを作成します。

2. クライアント・プロジェクトのSolution Explorerで、「references」を右クリックして「Add reference」を選択し、C:\Windows\Microsoft .NET framework\v3.0\Windows Communication Framework\System.Runtime.Serialization.dllを参照することにより、参照を追加します。

1. app.config構成ファイルを作成します。次のコードを<system.serviceModel>要素の後に追加します。

<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>

2. 次のようにエンドポイント動作を変更します。

<endpoint address="http://<server>:<port>//MyWebService1SoapHttpPort"
binding="customBinding"
bindingConfiguration="MyWebService1SoapHttp"
contract="MyWebService1" name="MyWebService1SoapHttpPort"
behaviorConfiguration="secureBehaviour" >
<identity>
<dns value="<certificate_cn>"/>
</identity>
</endpoint>

3. 次のようにしてメッセージ・リプレイ検出を無効化します。

<localClientSettings cacheCookies="true" detectReplays="false"
replayCacheSize="900000"
maxClockSkew="00:05:00" maxCookieCachingTime="Infinite"

4. 次に示すようにカスタム・バインディングを作成します。

<security defaultAlgorithmSuite="Basic128"
authenticationMode="MutualCertificate"

5. 構成ファイルの例は、「サンプルのapp.configファイル」を参照してください。

3. プロジェクトをコンパイルします。

4. コマンド・プロンプトを開いて、プロジェクトのDebugフォルダに移動します。

5. <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="BPELProcess1Binding">
<security defaultAlgorithmSuite="Basic128" authenticationMode="MutualCertificate"
requireDerivedKeys="false" securityHeaderLayout="Lax" includeTimestamp="true"
keyEntropyMode="CombinedEntropy" messageProtectionOrder="SignBeforeEncrypt"

messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversation
February2005WSSecurityPolicy11BasicSecurityProfile10"
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="BPELProcess1Binding"
contract="BPELProcess1" name="BPELProcess1_pt"  >
<identity>
<dns value=<certificate_cn>/>
</identity>
</endpoint>
</client>

</system.serviceModel>
</configuration>

サンプルのクライアント・プログラム

namespace IO_NET10_client
{
class Program
{
static void Main(string[] args)
{

BPELProcess1Client client = new BPELProcess1Client();

client.ClientCredentials.ClientCertificate.SetCertificate(
StoreLocation.CurrentUser,
StoreName.My,
X509FindType.FindBySubjectName, "WSMCert3");

client.ClientCredentials.ServiceCertificate.SetDefaultCertificate(
StoreLocation.CurrentUser,
StoreName.My,
X509FindType.FindBySubjectName, "Alice");

process proc = new process();
proc.input = "Test wss11_x509_token_with_message_protection_policy - ";
Console.WriteLine(proc.input);
processResponse response = client.process(proc);

Console.WriteLine(response.result.ToString());
Console.WriteLine("Press <ENTER> to terminate Client.");
Console.ReadLine();
}
}
}

5.5.2 Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスの構成

Oracle WSM 11gクライアントおよびMicrosoft WCF/.NET 3.5 Webサービスを構成するには、次の各項で説明する手順を実行します。

- 「Microsoft WCF/.NET 3.5 Webサービスの構成」

- 「Oracle WSM 11gクライアントの構成」

5.5.2.1 Microsoft WCF/.NET 3.5 Webサービスの構成

1. .NET Webサービスを作成します。
詳細は、http://msdn.microsoft.com/en-us/library/ms731835.aspxの『How to: Define a Windows Communication Foundation Service Contract』を参照してください。

.NET Webサービスの例については、「.NET Webサービス・クライアントの例」を参照してください。

2. SymmetricSecurityBindingElementを使用して、Webサービスのカスタム・バインディングを作成します。
詳細は、http://msdn.microsoft.com/en-us/library/ms730305.aspxの『How to: Create a Custom Binding Using the SecurityBindingElement』を参照してください。

3. SymmetricSecurityBindingElementオブジェクトのサンプルを次に示します。

SymmetricSecurityBindingElement sm =
(SymmetricSecurityBindingElement)SecurityBindingElement.CreateMutualCertificate
BindingElement();

sm.DefaultAlgorithmSuite =
System.ServiceModel.Security.SecurityAlgorithmSuite.Basic128;sm.SetKeyDerivati
on(false);
sm.SecurityHeaderLayout = SecurityHeaderLayout.Lax;sm.IncludeTimestamp =
true;
sm.KeyEntropyMode = SecurityKeyEntropyMode.CombinedEntropy;
sm.MessageProtectionOrder =
MessageProtectionOrder.SignBeforeEncrypt;sm.MessageSecurityVersion =
MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversation
February2005WSSecurityPolicy11BasicSecurityProfile10;
sm.RequireSignatureConfirmation =
true;

4. アプリケーションをデプロイします。

5.5.2.2 Oracle WSM 11gクライアントの構成

1. JDeveloperを使用して、.NET Webサービスを使用するSOAコンポジットを作成します。詳細は、SOA Suiteの開発者ガイドを参照してください。

2. JDeveloperで、.NETサービスのWSDLを使用してパートナ・リンクを作成し、次のようにインポートを追加します。

<wsdl:import namespace="<namespace>" location="<WSDL location>"/>

3. Enterprise Managerで、wss11_x509_token_with_message_protection_service_policyポリシーをクローニングします。ポリシー名をwss11_x509_token_with_message_protection_service_policy_netに変更します。

4. wss11_x509_token_with_message_protection_service_policy_netをエクスポートします。encrypted="true"を"false"に変更し、再びインポートします。

<orasp:x509-token orasp:enc-key-ref-mech="thumbprint" orasp:is-encrypted="true"
orasp:is-signed="false" orasp:sign-key-ref-mech="direct"/>

5. ポリシーをWebサービス・クライアントにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

6. keystore.recipient.aliasの構成を指定します。
この情報を指定するには、ポリシーをアタッチするときにポリシー構成をオーバーライドします。詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のオーバーライド可能なクライアントのアタッチに関する項を参照してください。

必ず、ステップ4でインポートした証明書(wsmcert3)の別名としてkeystore.recipient.aliasを構成してください。

7. クライアントからWebサービス・メソッドを起動します。

5.6 メッセージ保護付きKerberos

この項では、次の相互運用性シナリオにおいてメッセージ保護付きKerberosを実装する方法について説明します。

- 「相互運用性のための構成の前提条件」

- 「Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成」

5.6.1 相互運用性のための構成の前提条件

次の前提条件ステップを実行します。

1. 鍵配布センター(KDC)およびアクティブ・ディレクトリ(AD)を構成します。詳細は、http://download.oracle.com/docs/cd/E19316-01/820-3746/gisdn/index.htmlのWindowsのアクティブ・ディレクトリおよびドメイン・コントローラの構成方法(ドメイン・コントローラがKDCの役割を果たします)に関する項を参照してください。

2. 例5-1に示すように、c:\winntにあるKerberosの構成ファイルkrb5.confを設定します。

例5-1 Kerberos構成ファイルのサンプル

[logging]
default = c:\log\krb5libs.log
kdc = c:\log\krb5kdc.log
admin_server = c:\log\kadmind.log
[libdefaults]
default_realm = MYCOMPANY.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
default_tkt_enctypes = rc4-hmac
default_tgs_enctypes = rc4-hmac
permitted_enctypes = rc4-hmac
kdc = <hostname>
[realms]
MYCOMPANY.LOCAL =
{ kdc = <hostname>:<portnumber>  admin_server = <hostname>:<portnumber>
default_domain = <domainname>
}
[domain_realm]
.<domainname> = MYCOMPANY.LOCAL
<domainname> = MYCOMPANY.LOCAL
[appdefaults]
pam =
{   debug = false  ticket_lifetime = 36000  renew_lifetime = 36000  forwardable =
true  krb4_convert = false }

5.6.2 Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスの構成

Microsoft WCF/.NET 3.5クライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

5.6.2.1 Oracle WSM 11g Webサービスの構成

1. Webサービス・アプリケーションを作成します。

2. wss11_kerberos_with_message_protection_service_policyポリシーをコピーします。

3. ポリシー設定を編集して、アルゴリズム・スイートを「Basic128Rsa15」に設定します。

4. ポリシーをWebサービスにアタッチします。Fusion Middleware Controlを使用してデプロイ時にポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

5. アプリケーションをデプロイします。

5.6.2.2 Microsoft WCF/.NET 3.5クライアントの構成

1. ADにユーザーを作成して、Webサービスがホストされるホストを指定します。デフォルトでは、ユーザー・アカウントはRC4-HMAC暗号を使用して作成されます。たとえば、ユーザー名をfoobarとすると、HTTP/foobarとなります。

2. 次のようにktpassコマンドを使用して、KDCが実行されているWindowsのADマシンにkeytabファイルを作成します。
ktpass -princ HTTP/foobar@MYCOMPANY.LOCAL -pass Oracle123 -mapuser foobar -out foobar.keytab -ptype KRB5_NT_PRINCIPAL -kvno 4

HTTP/foobarがユーザー「foobar」にマッピングされるSPNです。「/desonly」を指定したり、「/cyrpto」に「des-cbc-crc」は指定しないでください。MYCOMPANY.LOCALはKDCのデフォルトのレルムで、krb5.iniファイルで使用可能です。passに指定するパスワードは、ユーザーの作成時のパスワードと一致している必要があります。

FTPのバイナリ・モードを使用して、生成したキータブ・ファイルをSOAコンポジットWebサービスがホストされているマシンに移動します。

3. 次のようにsetSpnコマンドを使用して、サービス・プリンシパルをユーザーにマッピングします。
setSpn -A HTTP/foobar@MYCOMPANY.LOCAL foobar

setSpn -L foobar

ユーザーにマッピングするSPNは1つにしてください。複数のSPNがユーザーにマッピングされている場合は、setSpn -D <spname> <username>コマンドを使用して削除します。

4. SVCUtilユーティリティを使用して、デプロイされたWebサービスからクライアント・プロキシおよび構成ファイルを作成します。
Windowsのエクスプローラでアプリケーションを右クリックして、generatedProxy.csファイルおよびapp.configファイルを追加し、既存の項目を追加を選択します。

app.configのendpoint要素に、「HTTP/foobar@MYCOMPANY.LOCAL」というサービス・プリンシパル名(keytabの作成で使用したものと同じ値)の「identity」要素を追加します。

<client>
<endpoint address="http://host:port/HelloServicePort"
binding="customBinding" bindingConfiguration="NewHelloSoap12HttpPortBinding"
contract="NewHello" name="HelloServicePort">
<identity>
<servicePrincipalName value ="HTTP/foobar@MYCOMPANY.LOCAL"/>
</identity>
</endpoint>

</client>

バインドのサンプルを例5-2に示します。

例5-2 バインドのサンプル

<customBinding>
<binding name="NewHelloSoap12HttpPortBinding">
<!--Added by User: Begin-->
<security defaultAlgorithmSuite="Basic128"
authenticationMode="Kerberos"
requireDerivedKeys="false" securityHeaderLayout="Lax"
includeTimestamp="true"
keyEntropyMode="CombinedEntropy"
messageProtectionOrder="SignBeforeEncrypt"
messageSecurityVersion="WSSecurity11WSTrustFebruary2005
WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurity
Profile10"
requireSignatureConfirmation="true">
<localClientSettings cacheCookies="true" detectReplays="true"
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>
<!--Added by User: End-->
<textMessageEncoding maxReadPoolSize="64"
maxWritePoolSize="16"
messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192"
maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384"
/>
</textMessageEncoding>
<!--Added by User: Begin-->
<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" />
<!--Added by User: End-->
</binding>
</customBinding>

svcutil.exeユーティリティは、Oracle WSMポリシーがアタッチされているWebサービスでは機能しません。ユーティリティを実行する前にサービスからポリシーをデタッチし、プロキシを生成して、すべてのアーティファクトの生成に成功してから再びアタッチします。

5. クライアント・プログラムを実行します。

5.7 Microsoft Active Directory Federation Services 2.0 (ADFS 2.0) STSを使用するWCF/.NET 3.5クライアント

この項では、一方向SSL経由のSAMLベアラー・トークンを利用するポリシーを使用した、Microsoft Active Directory Federation Services 2.0 (ADFS 2.0)セキュア・トークン・サービス(STS)を使用するWCF/.NET 3.5クライアントの保護について説明します。

注意:

SAML送信者保証トークンは、この使用例ではサポートされません。

この項で説明する手順は、ADFS 2.0をWindows Server 2008またはWindows Server 2008 R2システムにインストールして構成することを想定しています。このシステムはSTSロールで設定されます。

この項の項目は次のとおりです。

- 第5.7.1項「Active Directory Federation Services (ADFS) 2.0のインストールおよび構成」

- 第5.7.2項「信頼できるSAMLトークン発行者としてのADFS 2.0 STSの構成」

- 第5.7.3項「Oracle Internet Directoryのユーザーの構成」

- 第5.7.4項「ポリシーのアタッチ」

- 第5.7.5項「ADFS 2.0のリライイング・パーティとしてのWebサービスの登録」

- 第5.7.6項「ADFS 2.0を使用するWCF/.NET 3.5クライアントの保護」

5.7.1 Active Directory Federation Services (ADFS) 2.0のインストールおよび構成

この項では、ADFS 2.0のインストールと構成について説明します。

この項の項目は次のとおりです。

- 第5.7.1.1項「Active Directoryのインストールおよび構成」

- 第5.7.1.2項「ADFS 2.0のインストール」

- 第5.7.1.3項「自己署名入りサーバー認証証明書の作成および構成」

- 第5.7.1.4項「スタンドアロン・フェデレーション・サーバーとしてのシステムの構成」

- 第5.7.1.5項「ADFS 2.0トークン署名証明書のエクスポート」

- 第5.7.1.6項「電子メール・アドレスがあるユーザーの作成」

5.7.1.1 Active Directoryのインストールおよび構成

Active Directoryをインストールして構成します。関連リンクおよび詳細は、http://technet.microsoft.com/en-us/windowsserverを参照してください。

5.7.1.2 ADFS 2.0のインストール

ADFS 2.0をインストールして、ウィザードを使用して構成します。関連リンクおよび詳細は、http://technet.microsoft.com/en-us/windowsserver/dd448613を参照してください。ダウンロード情報は、http://go.microsoft.com/fwlink/?linkid=151338を参照してください。

ウィザードを使用してADFS 2.0を構成するときは、必ず、「サーバーの役割」ページで、「フェデレーション サーバー」をクリックしてください。

5.7.1.3 自己署名入りサーバー認証証明書の作成および構成

インターネット インフォメーション サービス (IIS) マネージャ・コンソールを使用して、IISで自己署名入りサーバー認証証明書を作成して構成し、デフォルトのWebサイトにバインドします。完了したら、SSLサーバー認証を有効にします。

AD FS 2.0設定ウィザードが自動的にシステムのWebサーバー(IIS)サーバー・ロールにインストールされます。

自己書名付きサーバー認証証明書の作成の概要は、http://technet.microsoft.com/en-us/library/cc771041%28v=ws.10%29.aspxに記載されています。この項の手順では、ユースケース固有の情報を提供します。

1. インターネット インフォメーション サービス (IIS) マネージャ・コンソールを開きます。

2. 「スタート」メニューで、「すべてのプログラム」→「管理ツール」→「インターネット インフォメーション サービス (IIS) マネージャ」をクリックします。

3. コンソール・ツリーで、システムの名前を含むルート・ノードをクリックしてから、詳細ペインで、IISグループの「サーバー証明書」というアイコンをダブルクリックします。

4. 「操作」ペインで、「自己署名入り証明書の作成」をクリックします。

5. コンソール・ツリーで、「Default Web Site」をクリックします。

6. 「操作」ペインで、「バインド」をクリックします。

7. 「サイト バインド」ダイアログ・ボックスで「追加」をクリックします。

8. 「サイト バインドの追加」ダイアログ・ボックスで、「種類」ドロップダウン・リストの「https」を選択します。「SSL 証明書」ドロップダウン・リストで作成した証明書を選択し、「OK」→「閉じる」をクリックします。

9. インターネット インフォメーション サービス (IIS) マネージャ・コンソールを閉じます。SSLサーバー認証を有効にします。

5.7.1.4 スタンドアロン・フェデレーション・サーバーとしてのシステムの構成

http://technet.microsoft.com/en-us/library/ee913579%28v=ws.10%29.aspxの説明に従って、システムをスタンドアロン・フェデレーション・サーバーとして構成します。

5.7.1.5 ADFS 2.0トークン署名証明書のエクスポート

http://technet.microsoft.com/en-us/library/dd378922%28v=ws.10%29.aspx#BKMK_4の説明に従って、ADFS 2.0トークン署名証明書をエクスポートします。

自己署名入り証明書の場合は、「DER encoded binary X.509 (.cer)」を選択します。

署名証明書が自己署名入りでない場合は、「Cryptographic Message Syntax Standard – PKCS #7 証明書 (.P7B)」を選択し、「証明のパスにある証明書を可能であればすべて含む」を選択します。

5.7.1.6 電子メール・アドレスがあるユーザーの作成

ユーザーを作成し、電子メール・アドレスを含めます。後でSTSを有効にして、サービス用の送信SAMLアサーションのサブジェクト名IDとして電子メール・アドレスを送信します。

次の手順に従って、サンプル・ユーザーをActive Directoryに追加します。各ユーザーに電子メール・アドレスを設定してください。

1. ドメイン管理者の資格証明を使用してシステムにログインします。

2. 「スタート」→「管理ツール」→「Active Directoryユーザーとコンピュータ」をクリックします。

3. コンソール・ツリーで、「Users」フォルダを右クリックします。「新規作成」→「ユーザー」をクリックします。

4. 「新しいオブジェクト - ユーザー」ページで、ユーザーを追加し、「次へ」をクリックします。

5. パスワードを入力し、「ユーザーは次回ログオン時にパスワード変更が必要」チェック・ボックスを選択解除し、「次へ」をクリックします。

6. 「終了」をクリックします。

7. 「Active Directoryユーザーとコンピュータ」の右端のペインで、新しいユーザー・オブジェクトを右クリックし、「プロパティ」をクリックします。

8. 「全般」タブの「電子メール」ボックスに、ユーザーの電子メール・アドレスを入力し、「OK」をクリックします。

5.7.2 信頼できるSAMLトークン発行者としてのADFS 2.0 STSの構成

次の手順を実行して、ADFS 2.0 STSによって発行されたSAMLアサーションを信頼するようにOracle WSMを構成します。

1. 第5.7.1.5項「ADFS 2.0トークン署名証明書のエクスポート」でエクスポートしたSTS署名証明書を取得します。
証明書チェーンの.p7bファイルの場合、IEでファイルを開き、各証明書を.cerファイルのチェーンにコピーします。

2. keytoolを使用して証明書をデフォルトのキーストアの場所にインポートします。
keytool –importcert –file <sts-signing-certs-file> –trustcacerts –alias <alias> –keystore default-keystore.jks

3. http://domain-name/adfs/services/trustをSAMLの信頼できる発行者として追加します。
実行する手順については、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の署名証明書の信頼できる発行者および信頼できる識別名リストの定義に関する項を参照してください。

4. 信頼できるSTSサーバー・セクションにSTS証明書のサブジェクトDN (RFC 2253で定義)を追加します。CN=abcなど、RFC 2253に準拠する文字列を使用してください。keytoolなどの任意のメカニズムを使用して、証明書を表示し、サブジェクトDNを決定できます。
実行する手順については、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の署名証明書の信頼できる発行者および信頼できる識別名リストの定義に関する項を参照してください。

5.7.3 Oracle Internet Directoryのユーザーの構成

各ユーザーに、ADFSに設定されるユーザー電子メール・アドレスと一致するメール属性を構成します。

Oracle Internet Directoryのユーザーの構成の詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』のユーザー作成のためのディレクトリ・エントリの管理に関する説明を参照してください。

5.7.4 ポリシーのアタッチ

Oracle WSMのoracle/wss11_saml_or_username_token_with_message_protection_service_policyまたはoracle/wss_saml_token_bearer_over_ssl_service_policyポリシーをWebサービスにアタッチします。

これらのポリシーは、メッセージ保護(整合性と機密保護)と、WS-Security SOAPヘッダーの、確認方法がベアラーのSAMLトークンに含まれる資格証明を使用する、SAMLベースの認証を実行します。また、トランスポート・プロトコルによりSSLメッセージ保護が提供されることも検証します。

ポリシーのアタッチの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

5.7.5 ADFS 2.0のリライイング・パーティとしてのWebサービスの登録

電子メール・アドレスまたは名前ID (SAM-Account-Name)をサブジェクト名IDとして使用してWebサービスにSAMLアサーションを発行するようにADFS 2.0を構成します。

リライイング・パーティの概要は、http://technet.microsoft.com/en-us/library/dd807108%28v=ws.10%29.aspxを参照してください。

この項では、ユースケース固有の情報を提供します。

リライイング・パーティとしてのWebサービスへの追加

1. AD FS 2.0管理コンソールで、「AD FS 2.0」をクリックします。

2. 詳細ペインで、「証明書利用者信頼の追加」をクリックし、証明書利用者信頼の追加ウィザードを開始します。

3. 「ようこそ」ページで、「開始」をクリックして開始します。

4. 「証明書利用者についてのデータを手動で入力する」を選択します。

5. 表示名を入力し、必要に応じてメモを入力します。

6. 「ADFS 2.0プロファイル」を選択します。

7. 「証明書の構成」ページで、「次へ」をクリックします。
このページでのトークン暗号化証明書の構成はオプションです。トークンを暗号化する必要がある場合は、このページで構成します。トークン暗号化証明書を構成しない場合、STSによって発行されるトークンはこのサービスで暗号化されません。

8. WS-Trustは常に有効です。「次へ」をクリックします。

9. 「証明書利用者信頼の識別子」に、サービスのURLを入力し、「追加」をクリックします。

10. このリライイング・パーティへのアクセスをすべてのユーザーに許可します。

11. 「次へ」→「閉じる」をクリックします。

サービスの要求規則の構成

STSを有効にして、サービス用の送信SAMLアサーションのsubject name idとして電子メール・アドレスまたは名前IDを送信するには、この項の手順を使用して、テンプレートの異なる2つの要求規則のチェーンを作成します。

要求規則の概要は、http://technet.microsoft.com/en-us/library/ee913578%28v=ws.10%29.aspxを参照してください。LDAP属性を要求として送信する規則を作成するには、http://technet.microsoft.com/en-us/library/dd807115%28v=ws.10%29.aspxを参照してください。

この項では、ユースケース固有の情報を提供します。

1. サービスのリライイング・パーティを右クリックし、「要求規則の編集」を選択します。

2. 「発行変換規則」タブで、「規則の追加」を選択します。

3. 使用する要求規則テンプレートとして「LDAP 属性を要求として送信」を選択します。

4. 要求に、Get LDAP Attributesなどの名前を付けます。

5. 「属性ストア」をActive Directoryに、「LDAP属性」をE-Mail-Addressesに、「出力方向の要求の種類」をE-mail Addressに設定します。
サブジェクト名IDとして、かわりに名前IDを使用する場合は、「LDAP属性」の下でSAM-Account-Nameを選択します。

6. 「終了」を選択します。

7. サブジェクト名IDとして名前IDを使用する場合は、「OK」をクリックして、プロパティ・ページを閉じ、リライイング・パーティの信頼への変更を保存します。
サブジェクト名IDとして電子メール・アドレスを使用する場合は、引き続き、規則を追加します。

8. 「規則の追加」を選択します。

9. 使用する要求規則テンプレートとして「入力方向の要求の変換」を選択します。

10. Email to Name IDなどの名前を付けます。

11. 「入力方向の要求の種類」をE-mail Addressに設定します。(前の規則の「出力方向の要求の種類」と一致している必要があります。)

12. 「出力方向の要求の種類」をName IDとし、「出力方向の名前 ID の形式」をEmailとして設定します(urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress)。

13. すべての要求値をパス・スルーし、「完了」をクリックします。

14. 「OK」をクリックして、プロパティ・ページを閉じ、リライイング・パーティの信頼への変更を保存します。

5.7.6 ADFS 2.0を使用するWCF/.NET 3.5クライアントの保護

次の手順を実行して、ADFS 2.0を使用するWCF/.NET 3.5クライアントを保護します。

1. .NET 3.5およびVisual Studio 2008をインストールします。

2. STSおよびサービス用のSSLサーバー証明書をWindowsにインポートします。
STSまたはサービス用のSSLサーバー証明書が、信頼できるCAから発行されていない、または自己署名入りである場合は、第5.6.1項「相互運用性のための構成の前提条件」の説明に従って、MMCツールを使用してインポートする必要があります。

3. WCFクライアントを作成して構成します。
ADFS 2.0 STSにより、トークンに対する保険としての複数のセキュリティおよび認証メカニズムがサポートされます。これらはそれぞれ個別のエンドポイントとして公開されます。ユーザー名/パスワード認証では、2つのエンドポイントが提供されます。

- http://<adfs.domain>/adfs/services/trust/13/username - このエンドポイントはメッセージ保護付きユーザー名トークン用です。

- https://<adfs.domain>/adfs/services/trust/13/usernamemixed - このエンドポイントはトランスポート保護(SSL)付きユーザー名トークン用です。

WCFクライアントは、SSLのユーザー名トークン用のhttps://<adfs.domain>/adfs/services/trust/13/usernamemixedエンドポイントを使用して、サービスのSAMLベアラー・トークンを取得します。

1. サービスWSDLを使用して、WCFクライアントを生成します。
Windows Communication Foundationクライアントの作成の詳細は、http://msdn.microsoft.com/en-us/library/ms733133(v=vs.90)を参照してください。

注意:

SVCUtilは、OWSMポリシーのoracle/wss11_saml_or_username_token_with_message_protection_service_policy、またはoracle/wss_saml_bearer_token_over_ssl_service_policyポリシーにアドバタイズされるポリシーの代替があるセキュリティ・ポリシーをサポートしません。この回避方法は、次のとおりです。

1. サービスのポリシーをデタッチします。

2. SVCUtilを使用してプロキシを作成します。

3. ポリシーをサービスにアタッチして戻します。

2. クライアントをws2007FederationHttpBindingで構成します。
クライアント・プロジェクトのSolution Explorerで、「references」を右クリックして「Add reference」を選択し、C:\Windows\Microsoft .NET framework\v3.0\Windows Communication Framework\System.Runtime.Serialization.dllを参照することにより、参照を追加します。

app.configファイルを編集します。(WS 2007フェデレーションHTTPバインディングの詳細は、http://msdn.microsoft.com/en-us/library/bb472490.aspxを参照してください。)次のサンプルを考えてみます。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="secureBehaviour">
<clientCredentials>
<serviceCertificate>
<defaultCertificate findValue="weblogic"
storeLocation="LocalMachine"
storeName="My"
x509FindType="FindBySubjectName"/>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<ws2007FederationHttpBinding>
<binding name="JaxWsWss11SamlOrUsernameOrSamlBearerOverSSLSoapHttp">
<security mode="TransportWithMessageCredential">
<message negotiateServiceCredential="false"
algorithmSuite="Basic128"
issuedTokenType ="http://docs.oasis-open.org/wss/oasis-wss-saml-token-

profile-1.1#SAMLV1.1"
issuedKeyType="BearerKey">
<issuer address ="https://domain-name/adfs/services/trust/13/usernamemixed"
binding ="ws2007HttpBinding"

bindingConfiguration="ADFSUsernameMixed"/>
</message>
</security>
</binding>
</ws2007FederationHttpBinding>
<ws2007HttpBinding>
<binding name="ADFSUsernameMixed">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="UserName" establishSecurityContext="false" />
</security>
</binding>
</ws2007HttpBinding>
</bindings>
<client>
<endpoint

address="https://adc2170989:8002/JaxWsWss11SamlOrUsernameOrSamlBearerOverSSL/JaxWsWss11Sam

lOrUsernameOrSamlBearerOverSSLService"
binding="ws2007FederationHttpBinding"

bindingConfiguration="JaxWsWss11SamlOrUsernameOrSamlBearerOverSSLSoapHttp"
contract="JaxWsWss11SamlOrUsernameOrSamlBearerOverSSL"

name="JaxWsWss11SamlOrUsernameOrSamlBearerOverSSLPort">
<identity>
<dns value="weblogic" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>

3. program.csファイルを編集し、サービスの呼出しを行います。
まだ存在していない場合は、プロジェクトに.csファイルを作成し、program.csという名前(または任意の名前)を付けます。次と一致するように編集します。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

namespace Client
{
class Program
{
static void Main(string[] args)
{
JaxWsWss11SamlOrUsernameOrSamlBearerOverSSLClient client =
New JaxWsWss11SamlOrUsernameOrSamlBearerOverSSLClient();

client.ClientCredentials.UserName.UserName = "joe";
client.ClientCredentials.UserName.Password = "eoj";

System.Net.ServicePointManager.ServerCertificateValidationCallback =
((sender, certificate, chain, sslPolicyErrors) => true);

Console.WriteLine(client.echo("Hello"));
Console.Read();
}

}
}

このサンプルprogram.csファイルの場合:

- joeはユーザー名、eojはパスワードであり、STSに対して認証するためにクライアントによって使用されます。

- System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);は、サーバー側の自己署名入り証明書を検証するために追加されています。サーバー証明書が信頼できるCAから発行されている場合、これは不要です。テスト用に自己署名入り証明書を使用している場合、この方法を追加してクライアント側の証明書を検証します。

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

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

- Oracle Service Bus 10gのセキュリティ環境との相互運用性の概要

- メッセージ保護付きユーザー名トークン(WS-Security 1.0)

- メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

- SSL経由のSAMLトークンまたはユーザー名トークン

- メッセージ保護付き相互認証(WS-Security 1.0)

6.1 Oracle Service Bus 10gのセキュリティ環境との相互運用性の概要

Oracle Service Bus 10gでは、ポリシーをアタッチして、インバウンド・リクエストとアウトバウンド・リクエストに対してセキュリティ環境を構成します。Oracle Service Busでは、そのセキュリティ・サービスのビルディング・ブロックとして、基礎となるWebLogicセキュリティ・フレームワークを使用します。ポリシーを構成およびアタッチする方法の詳細は、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.htmlのOracle Service Busのセキュリティ・ガイドで、Oracle Service Busプロキシおよびビジネス・サービスでのWS-Policyの使用に関する項を参照してください。

注意:

パッチ・ツールを使用して、Oracle Service Bus 10.3用にリリースされたTYBNおよびU37Zパッチをダウンロードし、適用しておく必要があります。

Oracle WSM 11gでは、ポリシーをWebサービス・エンドポイントにアタッチします。各ポリシーは、ドメインレベルで定義された、セキュリティ要件を定義する1つ以上のアサーションで構成されます。そのまま使用できる一連の事前定義済のポリシーおよびアサーションが用意されています。

事前定義済ポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の事前定義済ポリシーに関する項を参照してください。

ポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。

表6-1は、セキュリティ要件(認証、メッセージ保護およびトランスポート)に基づいたOracle Service Bus 10gの最も一般的な相互運用性シナリオをまとめたものです。

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

- Oracle WSM 11gポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。

- Oracle Service Bus 10gポリシーを構成およびアタッチする方法の詳細は、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.htmlのOracle Service Busのセキュリティ・ガイドで、Oracle Service Busプロキシおよびビジネス・サービスでのWS-Policyの使用に関する項を参照してください。

注意:

以降のシナリオでは、v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

また、キーが適切な拡張(DigitalSignature、Non_repudiation、Key_EnciphermentおよびData_Enciphermentなど)を使用していることも確認してください。

表6-1 Oracle Service Bus 10gのセキュリティ環境との相互運用性

相互運用性シナリオ

クライアント→Webサービス

Oracle WSM 11gのポリシー

Oracle Service Bus 10gのポリシー

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

Oracle Service Bus 10g→Oracle WSM 11g

oracle/wss10_username_token_with_message_protection_service_policy

Encrypt.xml

Sign.xml

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

Oracle WSM 11g→Oracle Service Bus 10g

oracle/wss10_username_token_with_message_protection_client_policy

Encrypt.xml

Sign.xml

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」

Oracle Service Bus 10g→Oracle WSM 11g

oracle/wss10_saml_token_with_message_protection_service_policy

Encrypt.xml

Sign.xml

「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」

Oracle WSM 11g→Oracle Service Bus 10g

oracle/wss10_saml_token_with_message_protection_client_policy

Encrypt.xml

Sign.xml

「SSL経由のSAMLトークンまたはユーザー名トークン」

Oracle Service Bus 10g→Oracle WSM 11g

oracle/wss_saml_or_username_token_over_ssl_service_policy

Auth.xml

「メッセージ保護付き相互認証(WS-Security 1.0)」

Oracle Service Bus 10g→Oracle WSM 11g

oracle/wss10_x509_token_with_message_protection_service_policy

Encrypt.xml

Sign.xml

「メッセージ保護付き相互認証(WS-Security 1.0)」

Oracle WSM 11g→Oracle Service Bus 10g

oracle/wss10_x509_token_with_message_protection_client_policy

Encrypt.xml

Sign.xml

6.2 メッセージ保護付きユーザー名トークン(WS-Security 1.0)

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

- 「相互運用性のための構成の前提条件」

- 「Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOracle Service Bus 10g 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を作成し、次のように構成します(その他の値はすべてデフォルト設定のままにしておきます)。

- キーストア・プロバイダ: なし

- キーストアのタイプ: jks

- キーストア・ファイル名: default_keystore.jks

- キーストアのパスフレーズ: <password>

- キーストアのパスフレーズを確認: <password>

6. Oracle WebLogic Serverを再起動します。

7. OSBコンソールを起動します。例:

http://<host name>:<port number>/sbconsole

8. ServiceKeyProviderを作成します。

9. 「暗号化鍵」および「デジタル署名鍵」を指定します。
Oracle WSMサーバーとOracle Service Busサーバーでは別々のキーを使用する必要があります。必要であれば、暗号化と署名には同じキーを使用できます。

6.2.1 Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成

Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

6.2.1.1 Oracle WSM 11g Webサービスの構成

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

注意:

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

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

1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

2. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

3. 「タイムスタンプを含める」構成設定を有効化します。

4. ユーザー名トークン要素の場合のみ、「暗号化」を「false」に設定します。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

2. ポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

6.2.1.2 Oracle Service Bus 10gクライアントの構成

1. Encrypt.xmlおよびSign.xml policyファイルのコピーを作成します。
たとえば、ファイルを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 -->

5. クライアントからWebサービス・メソッドを起動します。

6.2.2 Oracle WSM 11gクライアントおよびOracle Service Bus 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOracle Service Bus 10g Webサービスを構成するには、次の各項で説明する手順を実行します。

6.2.2.1 Oracle Service Bus 10g Webサービスの構成

1. Encrypt.xmlおよびSign.xml policyファイルのコピーを作成します。
たとえば、ファイルを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. Oracle Service Busルーティング・サービスを起動するWebサービス・アプリケーションを作成します。

6.2.2.2 Oracle WSM 11gクライアントの構成

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

注意:

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

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

1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

2. 「受信者暗号化キー参照メカニズム」を「issuerserial」に設定します。

3. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

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

5. 「暗号化」を「false」に設定します。

6. メッセージの署名および暗号化については、デフォルト構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

2. ポリシーをWebサービス・クライアントにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

3. クライアントからWebサービスを起動します。

6.3 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)

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

- 「相互運用性のための構成の前提条件」

- 「Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOracle Service Bus 10g 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アサーション・プロバイダの構成に関する項の説明に従って、SAMLIdentityAsserterV2認証プロバイダを作成します。

4. WebLogic Serverを再起動して、新しいプロバイダを管理サーバーのランタイムMBeanサーバーに追加します。

5. ステップ3で作成した認証プロバイダを選択します。

6. Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML IDアサータV2: アサーティング・パーティの作成および「SAML IDアサータV2: アサーティング・パーティ: 構成」に関する項の説明に従って、SAMLアサーティング・パーティを作成して構成します。
次のようにSAMLアサーティング・パーティを構成します(その他の値はデフォルトの設定のままにしておきます)。

- プロファイル: WSS/sender-vouches

- ターゲットURL: <OSB Proxy Service Endpoint URI>

- 発行者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 Service>

- 説明: <your_description>

「有効」チェック・ボックスを選択し、「保存」をクリックします。

11. WebLogic Serverを再起動します。

6.3.1 Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成

Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

6.3.1.1 Oracle WSM 11g Webサービスの構成

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

1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

2. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

3. ユーザー名トークン要素の場合のみ、「暗号化」を「false」に設定します。

4. メッセージの署名および暗号化については、デフォルト構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

2. ポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

6.3.1.2 Oracle Service Bus 10gクライアントの構成

1. Encrypt.xmlおよびSign.xml policyファイルのコピーを作成します。
たとえば、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. SAMLアサーションに署名する目的のみで、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: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. 例6-1で定義されているカスタムSAMLポリシーを使用します。

6. クライアントからWebサービスを起動します。

使用するカスタムSAMLポリシーを次に定義します。

例6-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>

6.3.2 Oracle WSM 11gクライアントおよびOracle Service Bus 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOracle Service Bus 10g Webサービスを構成するには、次の各項で説明する手順を実行します。

6.3.2.1 Oracle Service Bus 10g Webサービスの構成

1. Encrypt.xmlおよびSign.xml policyファイルのコピーを作成します。
たとえば、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. 例6-1で定義されているカスタムSAMLポリシーを使用します。

6.3.2.2 Oracle WSM 11gクライアントの構成

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

注意:

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

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

1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

2. 「受信者暗号化キー参照メカニズム」を「issuerserial」に設定します。

3. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

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

5. メッセージの署名および暗号化については、デフォルト構成設定のままにしておきます。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

2. ポリシーをWebサービス・クライアントにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

3. クライアントからWebサービスを起動します。

6.4 SSL経由のSAMLトークンまたはユーザー名トークン

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

- 「相互運用性のための構成の前提条件」

- 「相互運用性のためのSAMLの前提条件」

- 「Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成」

注意:

この項で説明する相互運用性シナリオは、SSL経由のSAMLトークンおよびSSL経由のユーザー名トークンのポリシーにも適用されます。

相互運用性のための構成の前提条件

ユーザー名トークンの構成の詳細は、「相互運用性のための構成の前提条件」を参照してください。

SAMLトークンの構成の詳細は、「相互運用性のための構成の前提条件」を参照してください。

相互運用性のためのSAMLの前提条件

SAMLの場合、Oracle Service Busが稼働しているWebLogic Serverに対して、次の前提条件ステップを実行します。

1. Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの資格証明マッピング・プロバイダの構成に関する項の説明に従って、SamlCredentialMapperV2という資格証明マッピング・プロバイダを作成します。
ドロップダウン・リストから「SamlCredentialMapperV2」を選択し、資格証明マッパーに名前を付けます(UC2_SamlCredentialMapperV2など)。

2. WebLogic Serverを再起動します。

3. 次のように資格証明マッパーを構成します(その他の値はデフォルトの設定のままにしておきます)。

- 発行者URI: www.oracle.com
注意: この値はポリシー・ファイル内に指定されています。

- 名前修飾子: oracle.com

4. Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのSAML資格証明マッピング・プロバイダV2: リライイング・パーティの作成および「SAML資格証明マッピング・プロバイダV2: リライイング・パーティ: 構成」に関する項の説明に従って、SAMLリライイング・パーティを作成して構成します。
次のようにSAMLリライイング・パーティを構成します(その他の値はデフォルトの設定のままにしておきます)。

- プロファイル: WSS/sender-vouches

- ターゲットURL: <Oracle WSM 11g Web Service>

- 説明: <your_description>

「有効」チェック・ボックスを選択し、「保存」をクリックします。

5. WebLogic Serverを再起動します。

6.4.1 Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成

Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

6.4.1.1 Oracle WSM 11g Webサービスの構成

1. サーバーを双方向SSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

- サービス・ポリシーがSSL経由のユーザー名トークンの場合、「相互クライアント証明書の動作」を「クライアント証明書をリクエスト(強制しない)」に設定します。

- サービス・ポリシーがSSL経由のSAML名トークンの場合、「相互クライアント証明書の動作」を「クライアント証明書をリクエスト(強制する)」に設定します。

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

注意:

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

- wss_username_token_over_ssl_service_policyに対して、「要素およびNonceの作成」構成設定を無効化します。

- wss_saml_token_over_ssl_service_policyに対して、「タイムスタンプを含める」構成設定を無効化します。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

3. Fusion Middleware Controlを使用して、ポリシーをインポートします。

4. JDeveloperを使用して、単純なSOAコンポジットを作成します。

5. wss_saml_or_username_token_over_ssl_service_policyポリシーのコピーをコンポジットにアタッチし、デプロイします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

6.4.1.2 Oracle Service Bus 10gクライアントの構成

SAMLトークン・クライアントとユーザー名トークン・クライアントはいずれもサポートされています。

1. サーバーを双方向SSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

- クライアント・ポリシーがSSL経由のユーザー名トークンに相当するポリシーの場合、「相互クライアント証明書の動作」を「クライアント証明書をリクエスト(強制しない)」に設定します。

- クライアント・ポリシーがSSL経由のSAMLトークンに相当するポリシーの場合、「相互クライアント証明書の動作」を「クライアント証明書をリクエスト(強制する)」に設定します。

2. Oracle Service Busコンソールで、リライイング・パーティのWSDLをインポートします。いずれのポリシーもアタッチされていないことを確認してください(このサービスではポリシー・アサーションは許可されていません。)

3. SAMLトークンに対して、ビジネス・サービスを作成します。

1. 例6-1の「カスタムSAMLポリシー」に示されているポリシーをリクエストにアタッチします。

2. WSDLをHTTPからHTTPSに変更します。

4. ユーザー名トークンに対して、ビジネス・サービスを作成します。

1. auth.xmlポリシーをリクエストにアタッチします。

2. WSDLをHTTPからHTTPSに変更します。

5. サービス・キー・プロバイダを作成します。

6. プロキシ・サービスを作成し、ビジネス・サービスへのルートを作成します。
「HTTPトランスポート構成」で、「認証」を「基本」に設定します。

「セキュリティ」ページで、サービス・キー・プロバイダを関連付けます。これは、Oracle Service Busがクライアント証明書をSOAに送信するために必要となります。

7. Oracle Service Busコンソールから、ユーザー名とパスワードを使用してプロキシ・サービスを実行します。

6.5 メッセージ保護付き相互認証(WS-Security 1.0)

次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付き相互認証を実装する方法について説明します。

- 「Oracle WebLogic Serverの構成の前提条件」

- 「Oracle WSMの構成の前提条件」

- 「Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびOracle Service Bus 10g Webサービスの構成」

Oracle WebLogic Serverの構成の前提条件

Oracle Service Busが稼働しているOracle WebLogic Serverに対して、次の前提条件ステップを実行します。

1. default-keystore.jksおよびtrust.jksファイルをドメイン・ディレクトリにコピーします。
default-keystore.jksは、WebLogicドメイン内のSOAPメッセージの公開鍵と秘密鍵を格納するために使用されます。trust.jksは、Oracle 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を作成し、次のように構成します(その他の値はすべてデフォルト設定のままにしておきます)。

- キーストア・プロバイダ: なし

- キーストアのタイプ: jks

- キーストア・ファイル名: default_keystore.jks

- キーストアのパスフレーズ: <password>

- キーストアのパスフレーズを確認: <password>

6. Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する項の説明に従って、認証を構成します。
「認証」タブを選択し、次のように構成します。

- 「DefaultIdentityAsserter」をクリックし、「X.509」を「選択済み」アクティブ・タイプに追加します。

- 「プロバイダ固有」をクリックし、次のように構成します。

- デフォルト・ユーザー名マッパーの属性のタイプ: CN

- アクティブなタイプ: X.509

- デフォルト・ユーザー名マッパーの使用: True

7. トークン・ハンドラを構成して、メッセージ保護付きのWebサービスを起動するクライアントがX.509証明書を使用してアイデンティティを確立することを指定します。WebLogic管理コンソールで、ドメインの「Webサービス・セキュリティ」ページにナビゲートし、次のようにインバウンド・メッセージとアウトバウンド・メッセージを構成します。

注意:

常に使用できるのは、メッセージ保護付きユーザー名トークンまたはメッセージ保護付き相互認証のみです。メッセージ保護付き相互認証を有効にすると、以降のユーザー名認証は失敗します。

- 「_SERVICE_BUS_INBOUND_WEB_SERVICE_SECURITY_MBEAN_」をクリックし、「トークン・ハンドラ」タブを選択します。

- 「X.509」トークン・ハンドラをクリックし、次のように構成します。

- 名前: UseX509ForIdentity

- 値: True

- アウトバウンドOracle Service Bus MBeanの_SERVICE_BUS_OUTBOUND_WEB_SERVICE_SECURITY_MBEAN_に対しても、同じ手順を実行します。

8. ユーザーを追加していない場合は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのユーザーの作成に関する項の説明に従って、証明書内に指定されている一般名(CN)ユーザーを追加します。

9. Oracle WebLogic Serverを再起動します。

Oracle WSMの構成の前提条件

Oracle WebLogic Server管理コンソールを使用して、Oracle WSMに対して次の前提条件ステップを実行します。

1. Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプの認証プロバイダとIDアサーション・プロバイダの構成に関する項の説明に従って、認証を構成します。
「認証」タブを選択し、次のように構成します。

- 「DefaultIdentityAsserter」をクリックし、「X.509」を「選択済み」アクティブ・タイプに追加します。

- 「プロバイダ固有」をクリックし、次のように構成します。

- デフォルト・ユーザー名マッパーの属性のタイプ: CN

- アクティブなタイプ: X.509

- デフォルト・ユーザー名マッパーの使用: True

2. ユーザーを追加していない場合は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのユーザーの作成に関する項の説明に従って、証明書内に指定されている一般名(CN)ユーザーを追加します。

3. Oracle WebLogic Serverを再起動します。

6.5.1 Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスの構成

Oracle Service Bus 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

- 「Oracle WSM 11g Webサービスの構成」

- 「Oracle Service Bus 10gクライアントの構成」

6.5.1.1 Oracle WSM 11g Webサービスの構成

1. SOAコンポジットを作成してデプロイします。

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

注意:

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

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

1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

2. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

3. ポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

6.5.1.2 Oracle Service Bus 10gクライアントの構成

1. Oracle Service Busビジネス・サービスを作成します。

2. Encrypt.xmlおよびSign.xml policyファイルのコピーを作成します。
たとえば、ファイルをmyEncrypt.xmlおよびmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

3. X.509ポリシーをOracle Service Busビジネス・サービス・リクエストにアタッチします。

<wsp:Policy
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wssp="http://www.bea.com/wls90/security/policy"
xmlns:s0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
s0:Id="X509Auth">
<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-200401-wss-x509-token-profile-1.0#X509v3"/>
</wssp:SupportedTokens>
</wssp:Identity>
</wsp:Policy>

4. Sign.xmlポリシー・ファイルをOracle Service Busビジネス・サービス・リクエストにアタッチします。

5. myEncrypt.xmlポリシーを編集し、Oracle Service Busビジネス・サービス・リクエストにアタッチします。

<?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="X509Encrypt">
<wssp:Confidentiality>
<wssp:KeyWrappingAlgorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<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>
<wssp:KeyInfo/>
</wssp:Confidentiality>
</wsp:Policy>

6. セキュリティ・トークンを無署名にすることを指定するために、Oracle Service Busビジネス・サービス・リクエストにアタッチされたmySign.xmlポリシー・ファイルを編集します。

<wssp:Integrity SignToken="false">

また、SOAクライアントの場合のみ、次に示すようにシステム・ヘッダーのターゲットをコメント・アウトします。

<?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="X509Sign">
<wssp:Integrity SignToken="false">
<wssp:SignatureAlgorithm URI="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<wssp:CanonicalizationAlgorithm
URI="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<!--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-->
<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(wsu:Timestamp)
</wssp:MessageParts>
</wssp:Target>
<wssp:Target>
<wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1" />
<wssp:MessageParts
Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">
wsp:Body()
</wssp:MessageParts>
</wssp:Target>
</wssp:Integrity>
<wssp:MessageAge/>
</wsp:Policy>

7. 手順6で編集したmyEncrypt.xmlポリシー・ファイルをOracle Service Busビジネス・サービス・レスポンスにアタッチします。

8. ServiceKeyProviderを作成します。

9. 「暗号化鍵」および「デジタル署名鍵」を指定します。
Oracle WSMサーバーとOracle Service Busサーバーでは別々のキーを使用する必要があります。必要であれば、暗号化と署名には同じキーを使用できます。

10. プロキシ・サービスを作成し、ビジネス・サービスへのルートを作成します。
「セキュリティ」ページで、サービス・キー・プロバイダを関連付けます。これは、Oracle Service Busがクライアント証明書をSOAに送信するために必要となります。

11. Oracle Service Busコンソールからプロキシ・サービスを実行します。

6.5.2 Oracle WSM 11gクライアントおよびOracle Service Bus 10g Webサービスの構成

Oracle WSM 11gクライアントおよびOracle Service Bus 10g Webサービスを構成するには、次の各項で説明する手順を実行します。

- 「Oracle Service Bus 10g Webサービスの構成」

- 「Oracle WSM 11gクライアントの構成」

6.5.2.1 Oracle Service Bus 10g Webサービスの構成

1. Oracle Service Busプロキシ・サービスを作成します。

2. Encrypt.xmlおよびSign.xml policyファイルのコピーを作成します。
たとえば、myEncrypt.xmlおよびmySign.xmlにコピーします。事前定義済ポリシー・ファイルを直接編集することはお薦めしません。

3. 「Oracle Service Bus 10gクライアントの構成」に示されているX.509ポリシーをプロキシ・サービス・リクエストにアタッチします。

4. プロキシ・サービス・リクエストにアタッチされたmySign.xmlポリシー・ファイルを編集し、次に示すようにシステム・ヘッダーとタイムスタンプのターゲットをコメント・アウトします。

<?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:s0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
s0:Id="X509SignRequest">
<wssp:Integrity
xmlns:wls="http://www.bea.com/wls90/security/policy/wsee#part"
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">
<wssp:SignatureAlgorithm URI="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<wssp:CanonicalizationAlgorithm URI="http://www.w3.org/2001/10/xml-exc-c14n#"
/>
<!-- 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 -->
<!-- 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
(wsu:Timestamp)</wssp:MessageParts>
</wssp:Target -->
<wssp:Target>
<wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/xmldsig#sha1" />
<wssp:MessageParts Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">wsp:Body()</wssp:MessageParts>
</wssp:Target>
</wsp:Policy>

5. プロキシ・サービス・リクエストにアタッチされたmyEncrypt.xmlファイル内の暗号化アルゴリズムを次のように変更します。

<?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="X509Encrypt">
<wssp:Confidentiality>
<wssp:KeyWrappingAlgorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<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>
<wssp:KeyInfo/>
</wssp:Confidentiality>

</wsp:Policy>

6. 前の手順で編集したmySign.xmlおよびmyEncrypt.xmlポリシー・ファイルをプロキシ・サービス・レスポンスにアタッチします。

7. サービス・キー・プロバイダを作成します。

6.5.2.2 Oracle WSM 11gクライアントの構成

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

注意:

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

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

1. 「暗号化キー参照メカニズム」を「issuerserial」に設定します。

2. 「受信者暗号化キー参照メカニズム」を「issuerserial」に設定します。

3. 「アルゴリズム・スイート」を、Oracle Service Busに使用されるアルゴリズム・スイートに合わせて「Basic128Rsa15」に設定します。

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

詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の既存のポリシーからのWebサービス・ポリシーの作成に関する項を参照してください。

2. Enterprise Managerで、クライアント構成内にkeystore.recipient.aliasを指定します。クライアントに指定するkeystore.recipient.aliasキーが、Webサービスに対して構成されている信頼ストア内に信頼できる証明書エントリとして存在していることを確認してください。

3. ポリシーをWebサービス・クライアントにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

4. クライアントからWebサービスを起動します。

7 Axis 1.4およびWSS4J 1.5.8のセキュリティ環境との相互運用性

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

- Axis 1.4およびWSS4J 1.5.8のセキュリティ環境との相互運用性の概要

- AxisおよびWSS4Jとの相互運用に必要なファイル

- メッセージ保護付きユーザー名トークン(WS-Security 1.0)

- メッセージ保護付きSAMLトークン(WS-Security 1.0)

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

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

7.1 Axis 1.4およびWSS4J 1.5.8のセキュリティ環境との相互運用性の概要

Axis 1.4およびWSS4J 1.5.8では、ハンドラおよびデプロイメント・ディスクリプタを使用してインバウンド・リクエストとアウトバウンド・リクエストのセキュリティ環境を構成します。詳細は、http://ws.apache.org/wss4j/axis.htmlの『Axis Deployment Tutorial』を参照してください。

Oracle WSM 11gでは、ポリシーをWebサービス・エンドポイントにアタッチします。各ポリシーは、ドメインレベルで定義された、セキュリティ要件を定義する1つ以上のアサーションで構成されます。そのまま使用できる一連の事前定義済のポリシーおよびアサーションが用意されています。事前定義済ポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の事前定義済ポリシーに関する項を参照してください。ポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。

表7-1に、セキュリティ要件(認証、メッセージ保護およびトランスポート)に基づいたAxisおよびWSS4Jの最も一般的な相互運用性シナリオを示します。

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

- Oracle WSM 11gポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。

- AxisおよびWSS4Jでポリシーを構成およびアタッチする方法の詳細は、http://ws.apache.org/wss4j/axis.htmlの『Axis Deployment Tutorial』を参照してください。

表7-1 AxisおよびWSS4Jのセキュリティ環境との相互運用性

相互運用性シナリオ

クライアント→Webサービス

Oracle WSM 11gのポリシー

Axis/WSS4Jのポリシー

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

Axis/WSS4J→Oracle WSM 11g

oracle/wss10_username_token_with_message_protection_service_policy

UsernameToken Timestamp Signature Encrypt

「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」

Oracle WSM 11g→Axis/WSS4J

oracle/wss10_username_token_with_message_protection_client_policy

UsernameToken Timestamp Signature Encrypt

「メッセージ保護付きSAMLトークン(WS-Security 1.0)」

Axis/WSS4J→Oracle WSM 11g

oracle/wss10_saml_token_with_message_protection_service_policy

SAMLTokenUnsigned Timestamp Signature Encrypt

「メッセージ保護付きSAMLトークン(WS-Security 1.0)」

Oracle WSM 11g→Axis/WSS4J

oracle/wss10_saml_token_with_message_protection_client_policy

SAMLTokenUnsigned Timestamp Signature Encrypt

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

Axis/WSS4J→Oracle WSM 11g

oracle/wss_username_token_over_ssl_service_policy

UsernameToken Timestamp

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

Oracle WSM 11g→Axis/WSS4J

oracle/wss_username_token_over_ssl_client_policy

Timestamp UsernameToken

「SSL経由のSAMLトークン(送信者保証)」

Axis/WSS4J→Oracle WSM 11g

oracle/wss_saml_token_over_ssl_service_policy

SAMLTokenUnsigned Timestamp

「SSL経由のSAMLトークン(送信者保証)」

Oracle WSM 11g→Axis/WSS4J

oracle/wss_saml_token_over_ssl_client_policy

Timestamp SAMLTokenUnsigned

7.2 AxisおよびWSS4Jとの相互運用に必要なファイル

次の手順を実行して、AxisおよびWSS4Jの相互運用性シナリオそれぞれに必要なハンドラおよびプロパティ・ファイルを作成します。

1. ユーザー名およびキーストア別名に必要なパスワードを解決できるPWCallback.javaというパスワード・コールバック・クラスを作成し、コンパイルします。
以降の各項で定義するデプロイメント・ディスクリプタには、ユーザー名情報は含まれますが、パスワード情報は含まれません。パスワードのような機密的な情報は、デプロイメント・ディスクリプタ内にクリア・テキストで保存しないほうが賢明です。Axisハンドラは、パスワードを取得するためにパスワード・コールバック・クラスをコールします。このメカニズムはJAASと似ています。詳細は、http://ws.apache.org/wss4jのWSS4Jドキュメントを参照してください。

2. 次に示すように、キーストア・プロパティ・ファイル(crypto.properties)を作成します。このファイルをクラス・ディレクトリに含めてください。

org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=welcome1
org.apache.ws.security.crypto.merlin.file=default-keystore.jks

3. 次に示すようなsaml.propertiesファイルを作成します。これは、SAMLの相互運用性シナリオのみに必要なファイルです。

org.apache.ws.security.saml.issuerClass=org.apache.ws.security.saml.SAMLIssuerImpl
org.apache.ws.security.saml.issuer.cryptoProp.file=crypto.properties
org.apache.ws.security.saml.issuer.key.name=orakey
org.apache.ws.security.saml.issuer.key.password=orakey
org.apache.ws.security.saml.issuer=www.oracle.com
org.apache.ws.security.saml.subjectNameId.name=weblogic
org.apache.ws.security.saml.authenticationMethod=password
org.apache.ws.security.saml.confirmationMethod=senderVouches

7.3 メッセージ保護付きユーザー名トークン(WS-Security 1.0)

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

- 「Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成」

7.3.1 Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成

Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

7.3.1.1 Oracle WSM 11g Webサービスの構成

1. oracle/wss10_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

2. Webサービスをデプロイします。

7.3.1.2 AxisおよびWSS4Jクライアントの構成

1. Webサービス・クライアント・プロキシを構築します。

2. 「AxisおよびWSS4Jとの相互運用に必要なファイル」の説明に従って、パスワード・コールバック・クラス(PWCallback.java)とキーストア・プロパティ・ファイル(crypto.properties)を作成します。

3. キーストア・ファイル(default-keystore.jksなど)およびcrypto.propertiesファイルをclassesフォルダの直下に配置します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

4. client_deploy.wsddデプロイメント・ディスクリプタを例7-1のように編集します。
この例では、受信者がユーザー名トークンの復号化、確認および検証を行い、送信者がユーザー名トークンの挿入、タイムスタンプの追加、本体、ユーザー名トークンおよびタイムスタンプへの署名、本体とユーザー名トークンの暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、Oracle WSMのデフォルト要件と一致するようにオーバーライドされます。

5. 前の手順で定義したデプロイメント・ディスクリプタを使用するために、クライアント・コード内に次のプロパティを設定します。

System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd");

6. Webサービス・クライアントをデプロイします。

client_deploy.wsddデプロイメント・ディスクリプタの例を次に示します。

例7-1 client_deploy.wsddデプロイメント・ディスクリプタ

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
<globalConfiguration >
<!-- wss10_username_token_with_message_protection -->
<requestFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
<parameter name="passwordCallbackClass"
value="com.oracle.xmlns.ConfigOverride_jws.CO_SOA.BPELProcess1.PWCallback"/>
<parameter name="passwordType" value="PasswordText"/>
<parameter name="user" value="weblogic"/>
<parameter name="action" value="UsernameToken Timestamp Signature Encrypt"/>
<parameter name="encryptionKeyTransportAlgorithm"
value="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
<parameter name="encryptionKeyIdentifier" value="DirectReference" />
<parameter name="encryptionPropFile" value="crypto.properties" />
<parameter name="encryptionUser" value="orakey" />
<parameter name="encryptionParts" value=
"{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}
UsernameToken;{Content}{http://schemas.xmlsoap.org/soap/envelope/}Body" />
<parameter name="signatureUser" value="orakey" />
<parameter name="signaturePropFile" value="crypto.properties" />
<parameter name="signatureKeyIdentifier" value="DirectReference" />
<parameter name="signatureParts" value=
"{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}
UsernameToken;{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-
1.0.xsd}
Timestamp;{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body" />
</handler>
</requestFlow>
<responseFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
<parameter name="passwordCallbackClass" value="com.oracle.xmlns.ConfigOverride_jws.CO
_SOA.BPELProcess1.PWCallback"/>
<parameter name="action" value="Timestamp Signature Encrypt" />
<parameter name="signaturePropFile" value="crypto.properties" />
<parameter name="decryptionPropFile" value="crypto.properties" />
<parameter name="enableSignatureConfirmation"  value="false" />
</handler>
</responseFlow>
</globalConfiguration >
</deployment>

7.3.2 Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成

Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスを構成するには、次の各項で説明する手順を実行します。

7.3.2.1 AxisおよびWSS4J Webサービスの構成

1. Webサービスを構築します。

2. 「AxisおよびWSS4Jとの相互運用に必要なファイル」の説明に従って、パスワード・コールバック・クラス(PWCallback.java)とキーストア・プロパティ・ファイル(crypto.properties)を作成します。

3. キーストア・ファイル(default-keystore.jksなど)およびcrypto.propertiesファイルをclassesフォルダの直下に配置します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

4. server_deploy.wsddデプロイメント・ディスクリプタを例7-2のように編集します。
この例では、受信者がユーザー名トークンの復号化、確認および検証を行い、送信者がユーザー名トークンの挿入、タイムスタンプの追加、本体、ユーザー名トークンおよびタイムスタンプへの署名、本体とユーザー名トークンの暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、Oracle WSMのデフォルト要件と一致するようにオーバーライドされます。

注意:

WSS4Jはヘッダー内の要素の順序を強制します。例7-2で、アクションの順序が更新されていることを確認してください。

5. Webサービスをデプロイします。

7.3.2.2 Oracle WSM 11gクライアントの構成

1. oracle/wss10_username_token_with_message_protection_client_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

2. JSEクライアントの場合のみ、次のようにWebサービス・クライアント・プロパティを構成します。
注意: Java EEクライアントの場合、この手順を行う必要はありません。

myPort.setProperty(ClientConstants.WSS_KEYSTORE_TYPE,"JKS");
myPort.setProperty(ClientConstants.WSS_KEYSTORE_LOCATION,
"/keystore-path/default-keystore.jks");
myPort.setProperty(ClientConstants.WSS_KEYSTORE_PASSWORD, "welcome1");
myPort.setProperty(ClientConstants.WSS_RECIPIENT_KEY_ALIAS,"orakey");
...

setPropertyの定義は次のとおりです。

public void setProperty(String name, String value) {
((Stub) _port)._setProperty(name, value);
}

3. Webサービス・クライアントをデプロイします。

server_deploy.wsddデプロイメント・ディスクリプタの例を次に示します。

例7-2 server_deploy.wsddデプロイメント・ディスクリプタ

<ns1:service name="HelloWorld" provider="java:RPC" style="wrapped" use="literal">
<!-- wss10_username_token_with_message_protection -->
<requestFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
<parameter name="passwordCallbackClass" value="PWCallback1"/>
<parameter name="user" value="wss4j"/>
<parameter name="action" value="Signature UsernameToken Timestamp Encrypt"/>
<parameter name="signaturePropFile" value="crypto.properties" />
<parameter name="decryptionPropFile" value="crypto.properties" />
</handler>
</requestFlow>
<responseFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
<parameter name="passwordCallbackClass" value="PWCallback1"/>
<parameter name="user" value="orakey"/>
<parameter name="action" value="Timestamp Signature Encrypt"/>
<parameter name="encryptionKeyTransportAlgorithm"
value="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
<parameter name="signaturePropFile" value="crypto.properties" />
<parameter name="signatureKeyIdentifier" value="DirectReference" />
<parameter name="signatureParts"
value="{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body;{Element}
{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp" />
<parameter name="encryptionKeyIdentifier" value="DirectReference" />
</handler>
</responseFlow>
</ns1:service>

7.4 メッセージ保護付きSAMLトークン(WS-Security 1.0)

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

- 「Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成」

7.4.1 Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成

Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

7.4.1.1 Oracle WSM 11g Webサービスの構成

1. oracle/wss10_saml_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

2. Webサービスをデプロイします。

7.4.1.2 AxisおよびWSS4Jクライアントの構成

1. Webサービス・クライアント・プロキシを構築します。

2. 「AxisおよびWSS4Jとの相互運用に必要なファイル」の説明に従って、パスワード・コールバック・クラス(PWCallback.java)、キーストア・プロパティ・ファイル(crypto.properties)およびsaml.propertiesファイルを作成します。

3. キーストア・ファイル(default-keystore.jksなど)およびcrypto.propertiesファイルをclassesフォルダの直下に配置します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

4. client_deploy.wsddデプロイメント・ディスクリプタを例7-3のように編集します。
この例では、受信者がSAMLトークンの復号化、確認および検証を行い、送信者がSAMLトークンの挿入、タイムスタンプの追加、本体、SAMLトークンおよびタイムスタンプへの署名、本体の暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、Oracle WSMのデフォルト要件と一致するようにオーバーライドされます。

5. 前の手順で定義したデプロイメント・ディスクリプタを使用するために、クライアント・コード内に次のプロパティを設定します。

System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd");

6. Webサービス・クライアントをデプロイします。

client_deploy.wsddデプロイメント・ディスクリプタの例を次に示します。

例7-3 client_deploy.wsddデプロイメント・ディスクリプタ

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
<globalConfiguration >
<!-- wss10_saml_token_with_message_protection -->
<requestFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
<parameter name="passwordCallbackClass"
value="com.oracle.xmlns.ConfigOverride_jws.CO_SOA.BPELProcess1.PWCallback"/>
<parameter name="passwordType" value="PasswordText"/>
<parameter name="user" value="weblogic"/>
<parameter name="action" value="Timestamp Signature SAMLTokenSigned Encrypt"/>
<parameter name="samlPropFile" value="saml.properties"/>
<parameter name="encryptionKeyTransportAlgorithm"
value="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
<parameter name="encryptionKeyIdentifier" value="DirectReference" />
<parameter name="encryptionPropFile" value="crypto.properties" />
<parameter name="encryptionUser" value="orakey" />
<parameter name="encryptionParts"
value="{Content}{http://schemas.xmlsoap.org/soap/envelope/}Body" />
<parameter name="signatureUser" value="orakey" />
<parameter name="signaturePropFile" value="crypto.properties" />
<parameter name="signatureKeyIdentifier" value="DirectReference" />
<parameter name="signatureParts" value="{Element}
{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}
Timestamp;{Element}
{http://schemas.xmlsoap.org/soap/envelope/}Body" />
</handler>
</requestFlow>
<responseFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
<parameter name="passwordCallbackClass"
value="com.oracle.xmlns.ConfigOverride_jws.CO_SOA.BPELProcess1.PWCallback" />
<parameter name="action" value="Timestamp Signature Encrypt" />
<parameter name="signaturePropFile" value="crypto.properties" />
<parameter name="decryptionPropFile" value="crypto.properties" />
<parameter name="enableSignatureConfirmation" value="false" />
</handler>
</responseFlow>
</globalConfiguration >
</deployment>

7.4.2 Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成

Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスを構成するには、次の各項で説明する手順を実行します。

7.4.2.1 AxisおよびWSS4J Webサービスの構成

1. Webサービスを構築します。

2. 「AxisおよびWSS4Jとの相互運用に必要なファイル」の説明に従って、パスワード・コールバック・クラス(PWCallback.java)、キーストア・プロパティ・ファイル(crypto.properties)およびsaml.propertiesファイルを作成します。

3. キーストア・ファイル(default-keystore.jksなど)およびcrypto.propertiesファイルをclassesフォルダの直下に配置します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。

4. server_deploy.wsddデプロイメント・ディスクリプタを例7-4のように編集します。
この例では、受信者がSAMLトークンの復号化、確認および検証を行い、送信者がSAMLトークンの挿入、タイムスタンプの追加、本体、SAMLトークンおよびタイムスタンプへの署名、本体の暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、Oracle WSMのデフォルト要件と一致するようにオーバーライドされます。

注意:

WSS4Jはヘッダー内の要素の順序を強制します。例7-4で、アクションの順序が更新されていることを確認してください。

5. Webサービスをデプロイします。

7.4.2.2 Oracle WSM 11gクライアントの構成

1. oracle/wss10_saml_token_with_message_protection_client_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

2. JSEクライアントの場合のみ、次のようにWebサービス・クライアント・プロパティを構成します。
注意: Java EEクライアントの場合、この手順を行う必要はありません。

myPort.setProperty(ClientConstants.WSS_KEYSTORE_TYPE,"JKS");
myPort.setProperty(ClientConstants.WSS_KEYSTORE_LOCATION,
"/keystore-path/default-keystore.jks");
myPort.setProperty(ClientConstants.WSS_KEYSTORE_PASSWORD, "welcome1");
myPort.setProperty(ClientConstants.WSS_RECIPIENT_KEY_ALIAS,"orakey");
...

setPropertyの定義は次のとおりです。

public void setProperty(String name, String value) {
((Stub) _port)._setProperty(name, value);
}

3. Webサービス・クライアントをデプロイします。

server_deploy.wsddデプロイメント・ディスクリプタの例を次に示します。

例7-4 server_deploy.wsddデプロイメント・ディスクリプタ

<ns1:service name="HelloWorld" provider="java:RPC" style="wrapped" use="literal">
<!-- wss10_username_token_with_message_protection -->
<requestFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
<parameter name="passwordCallbackClass" value="PWCallback1"/>
<parameter name="user" value="wss4j"/>
<parameter name="action" value="Signature SAMLTokenUnsigned Timestamp Encrypt"/>
<parameter name="signaturePropFile" value="crypto.properties" />
<parameter name="decryptionPropFile" value="crypto.properties" />
</handler>
</requestFlow>
<responseFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
<parameter name="passwordCallbackClass" value="PWCallback1"/>
<parameter name="user" value="orakey"/>
<parameter name="action" value="Timestamp Signature Encrypt"/>
<parameter name="encryptionKeyTransportAlgorithm"
value="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
<parameter name="signaturePropFile" value="crypto.properties" />
<parameter name="signatureKeyIdentifier" value="DirectReference" />
<parameter name="signatureParts"
value="{Element}{http://schemas.xmlsoap.org/soap/envelope/}Body;{Element}
{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp" />
<parameter name="encryptionKeyIdentifier" value="DirectReference" />
</handler>
</responseFlow>
</ns1:service>

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

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

- 「Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成」

7.5.1 Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成

Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

7.5.1.1 Oracle WSM 11g Webサービスの構成

1. サーバーをSSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(一方向)およびWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

2. oracle/wss_username_token_over_ssl_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

3. Webサービスをデプロイします。

7.5.1.2 AxisおよびWSS4Jクライアントの構成

1. Webサービス・クライアント・プロキシを構築します。

2. 「AxisおよびWSS4Jとの相互運用に必要なファイル」の説明に従って、パスワード・コールバック・クラス(PWCallback.java)とキーストア・プロパティ・ファイル(crypto.properties)を作成します。

3. デプロイメント・ディスクリプタclient_deploy.wsddを次の例のように編集します。この例では、受信者がユーザー名トークンとタイムスタンプを検証し、送信者がタイムスタンプを挿入します。

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
<globalConfiguration >
<!-- wss_username_token -->
<requestFlow >
<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
<parameter name="action" value="UsernameToken Timestamp"/>
<parameter name="user" value="weblogic"/>
<parameter name="passwordCallbackClass"
value="com.oracle.xmlns.ConfigOverride_jws.CO_SOA.BPELProcess1.PWCallback"/>
<parameter name="passwordType" value="PasswordText"/>
</handler>
</requestFlow >
</globalConfiguration >
</deployment>

4. 前の手順で定義したデプロイメント・ディスクリプタを使用するために、クライアント・コード内に次のプロパティを設定します。

System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd");

5. Webサービス・クライアントをデプロイします。

7.5.2 Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成

Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスを構成するには、次の各項で説明する手順を実行します。

7.5.2.1 AxisおよびWSS4J Webサービスの構成

1. サーバーをSSL用に構成します。

2. Webサービスを構築します。

3. 「AxisおよびWSS4Jとの相互運用に必要なファイル」の説明に従って、パスワード・コールバック・クラス(PWCallback.java)とcrypto.propertiesファイルを作成します。

4. デプロイメント・ディスクリプタserver_deploy.wsddを次の例のように編集します。この例では、受信者がユーザー名トークンとタイムスタンプを検証し、送信者がタイムスタンプを挿入します。

<ns1:service name="HelloWorld" provider="java:RPC" style="wrapped"
use="literal">
<!-- wss_username_token_over_ssl -->
<requestFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
<parameter name="passwordCallbackClass" value="PWCallback1"/>
<parameter name="action" value="Timestamp UsernameToken"/>
</handler>
</requestFlow>
<responseFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
<parameter name="action" value="Timestamp"/>
</handler>
</responseFlow>
</ns1:service>

5. Webサービスをデプロイします。

7.5.2.2 Oracle WSM 11gクライアントの構成

1. wss_username_token_over_ssl_client_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

2. JSEクライアントの場合のみ、Webサービス・クライアント・プロパティを次のように構成します。ユーザー名とパスワードは、ユーザー名トークンを生成するためにクライアントが設定する必要があります。
注意: Java EEクライアントの場合、この手順を行う必要はありません。

myPort.setUsername("wss4j");
myPort.setPassword("security"););

3. Webサービス・クライアントをデプロイします。
クライアントを実行している場合は、次のクライアント・システム・プロパティを含めます。ここで、default-keystore.jksは、サーバー証明書に対応する証明書が含まれるキーストアを示します。

-Djavax.net.ssl.trustStore=default-keystore.jks

7.6 SSL経由のSAMLトークン(送信者保証)

この項では、次の相互運用性シナリオにおいてSSL経由のSAMLトークン(送信者保証)を実装する方法について説明します。

- 「Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成」

7.6.1 Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスの構成

Axis/WSS4JクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

7.6.1.1 Oracle WSM 11g Webサービスの構成

1. サーバーをSSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(一方向)およびWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。

2. wss_saml_token_over_ssl_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

3. Webサービスをデプロイします。

7.6.1.2 AxisおよびWSS4Jクライアントの構成

1. Webサービス・クライアント・プロキシを構築します。

2. 「AxisおよびWSS4Jとの相互運用に必要なファイル」の説明に従って、パスワード・コールバック・クラス(PWCallback.java)、キーストア・プロパティ・ファイル(crypto.properties)およびSAMLプロパティ・ファイル(saml.properties)を作成します。

3. デプロイメント・ディスクリプタclient_deploy.wsddを次の例のように編集します。この例では、受信者がSAMLトークンとタイムスタンプを検証し、送信者がタイムスタンプを挿入します。

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
<globalConfiguration >
<!-- wss_saml_token -->
<requestFlow >
<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
<parameter name="action" value="SAMLTokenSigned Timestamp"/>
<parameter name="samlPropFile" value="saml.properties"/>
<parameter name="user" value="weblogic"/>
<parameter name="passwordCallbackClass"
value="com.oracle.xmlns.ConfigOverride_jws.CO_SOA.BPELProcess1.PWCallback"/>
<parameter name="passwordType" value="PasswordText"/>
<parameter name="signatureUser" value="orakey" />
<parameter name="signatureKeyIdentifier" value="DirectReference" />
<parameter name="signaturePropFile" value="crypto.properties" />
</handler>
</requestFlow >
</globalConfiguration >
</deployment>

4. 前の手順で定義したデプロイメント・ディスクリプタを使用するために、クライアント・コード内に次のプロパティを設定します。

System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd");

5. Webサービス・クライアントをデプロイします。

7.6.2 Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスの構成

Oracle WSM 11gクライアントおよびAxis/WSS4J Webサービスを構成するには、次の各項で説明する手順を実行します。

7.6.2.1 AxisおよびWSS4J Webサービスの構成

1. サーバーをSSL用に構成します。

2. Webサービスを構築します。

3. 「AxisおよびWSS4Jとの相互運用に必要なファイル」の説明に従って、パスワード・コールバック・クラス(PWCallback.java)とcrypto.propertiesファイルを作成します。

4. デプロイメント・ディスクリプタserver_deploy.wsddを次の例のように編集します。
この例では、受信者がSAMLトークンとタイムスタンプを検証し、送信者がタイムスタンプを挿入します。

<ns1:service name="HelloWorld" provider="java:RPC" style="wrapped"
use="literal">
<!-- wss_saml_token_over_ssl -->
<requestFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
<parameter name="passwordCallbackClass" value="PWCallback1"/>
<parameter name="action" value="Timestamp SAMLTokenUnsigned"/>
</handler>
</requestFlow>
<responseFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
<parameter name="action" value="Timestamp"/>
</handler>
</responseFlow>
</ns1:service>

5. Webサービスをデプロイします。

7.6.2.2 Oracle WSM 11gクライアントの構成

1. wss_saml_token_over_ssl_client_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。

2. JSEクライアントの場合は、Webサービス・クライアント・プロパティを次のように構成します。ユーザー名とパスワードは、SAMLアサーションを生成するためにクライアントが設定する必要があります。

注意:

Java EEクライアントの場合、この手順を行う必要はありません。

myPort.setUsername("wss4j");

3. Webサービス・クライアントをデプロイします。
クライアントを実行している場合は、次のクライアント・システム・プロパティを含めます。ここで、default-keystore.jksは、サーバー証明書に対応する証明書が含まれるキーストアを示します。

-Djavax.net.ssl.trustStore=default-keystore.jks

8 Oracle GlassFish Enterprise Serverリリース3.0.1との相互運用性

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

- Oracle GlassFishのセキュリティ環境との相互運用性の概要

- メッセージ保護付きユーザー名トークン(WS-Security 1.1)

- メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)

8.1 Oracle GlassFishのセキュリティ環境との相互運用性の概要

Oracle GlassFish Enterprise Serverリリース3.0.1は、Java EEプラットフォーム用のオープン・ソース・アプリケーション・サーバーです。Metroは、Oracle GlassFish Enterprise Serverを構成するオープンソースWebサービス・スタックの1つです。

Oracle WSM 11gでは、ポリシーをWebサービス・エンドポイントにアタッチします。各ポリシーは、ドメインレベルで定義された、セキュリティ要件を定義する1つ以上のアサーションで構成されます。そのまま使用できる一連の事前定義済のポリシーおよびアサーションが用意されています。事前定義済ポリシーの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』の事前定義済ポリシーに関する項を参照してください。ポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。

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

- Oracle WSM 11gポリシーを構成およびアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のポリシーの構成およびWebサービスへのポリシーのアタッチに関する項を参照してください。

- Oracle GlassFishの構成の詳細は、http://download.oracle.com/docs/cd/E18930_01/index.htmlを参照してください。

- Metro Webサービスの構成の詳細は、http://metro.java.net/guide/を参照してください。

8.2 メッセージ保護付きユーザー名トークン(WS-Security 1.1)

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

- 「GlassFishクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびGlassFish Webサービスの構成」

8.2.1 GlassFishクライアントおよびOracle WSM 11g Webサービスの構成

GlassFishクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

8.2.1.1 相互運用性のための構成の前提条件

次の前提条件ステップを実行します。

1. 次のコマンドを使用して、default-keystore.jksファイルを作成します。

$JAVA_HOME/bin/keytool -genkeypair -alias orakey -keypass welcome -keyalg RSA
-dname "CN=orakey, O=oracle C=us" -keystore default-keystore.jks -storepass
welcome

2. default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。

3. 次のコマンドを使用して、GlassFish内にファイル・ユーザーを作成します。

$<GLASSFISHV3_HOME>/glassfish/bin/asadmin create-file-user

詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2433/create-file-user-1.htmlを参照してください。

4. default-keystore.jksからorakeyをGlassFishのキーストアおよび信頼ストアにインポートします。これらは<domain-dir>/configディレクトリ内にあります。

$JAVA_HOME/bin/keytool -importkeystore -srckeystore
<path-to>/default-keystore.jks -destkeystore
<path-to-gf-domain>/config/cacerts.jks -srcalias  orakey -destalias orakey
-srckeypass welcome -destkeypass changeit

5. ドメインのfmwconfigディレクトリからjps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。

8.2.1.2 Oracle WSM 11g Webサービスの構成

1. Webサービスを作成します。

2. oracle/wss11_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

8.2.1.3 GlassFish/Metroクライアントの構成

1. NetBeansを使用して、「New Project」→「Java」→「Java Application」を選択することにより、Metroクライアントを作成します。プロジェクトの名前と場所を指定し、「Finish」を選択します。

2. プロジェクトを右クリックします。「New」→「Web service Client」を選択します。ウィザードに従って、WebLogic内にデプロイされるサービスのWSDL URLを入力します。

3. 「Edit Web Services Attributes」を選択します。

4. 「Use Development Defaults」を選択して、Metroライブラリをプロジェクトに組み込みます。

5. 「Use Development Defaults」を選択解除します。ユーザー名のサブジェクトおよびパスワードを指定します。

6. Metro SEクライアントの場合:

1. 信頼ストア構成を編集します。「相互運用性のための構成の前提条件」で作成したdefault-keystore.jksと同じものを選択します。

2. Webサービス操作をmainクラスのmainメソッドにドラッグ・アンド・ドロップします。

3. プロジェクトを右クリックし、「run」を選択してプロジェクトを実行します。

7. Metro Java EEクライアントの場合:

1. Webサービス操作を、起動するEJBまたはサーブレットにドラッグ・アンド・ドロップします。

2. アプリケーションをGlassFishにデプロイし、Webサービスを起動します。

8.2.2 Oracle WSM 11gクライアントおよびGlassFish Webサービスの構成

Oracle WSM 11gクライアントおよびGlassFish Webサービスを構成するには、次の各項で説明する手順を実行します。

8.2.2.1 相互運用性のための構成の前提条件

次の前提条件ステップを実行します。

1. 次のコマンドを使用して、default-keystore.jksファイルを作成します。

$JAVA_HOME/bin/keytool -genkeypair -alias orakey -keypass welcome -keyalg RSA
-dname "CN=orakey, O=oracle C=us" -keystore default-keystore.jks -storepass
welcome

2. default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。

3. WLSTコマンドを使用して、資格証明を資格証明ストアに保存します。例:

$<ORACLE_HOME>/common/bin/wlst.sh
> connect()
> createCred(map="oracle.wsm.security", key="keystore-csf-key",
user="keystore", password="welcome")
> createCred(map="oracle.wsm.security", key="sign-csf-key", user="orakey",
password="welcome")
> createCred(map="oracle.wsm.security", key="enc-csf-key", user="orakey",
password="welcome")
>createCred(map="oracle.wsm.security", key="glassfish.credentials" ,
user="wlsUser" , password="welcome1" , description="Glassfish user
credentials");

cwallet.ssoというファイルがDOMAIN_HOME/config/fmwconfigディレクトリ内に作成されます。

4. 次のコマンドを使用して、GlassFish内にファイル・ユーザーを作成します。

$<GLASSFISHV3_HOME>/glassfish/bin/asadmin create-file-user

詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2433/create-file-user-1.htmlを参照してください。

5. default-keystore.jksからorakeyをGlassFishのキーストアおよび信頼ストアにインポートします。これらは<domain-dir>/configディレクトリ内にあります。

$JAVA_HOME/bin/keytool -importkeystore -srckeystore
<path-to>/default-keystore.jks -destkeystore
<path-to-gf-domain>/config/keystore.jks -srcalias  orakey -destalias orakey
-srckeypass welcome -destkeypass changeit

6. ドメインのfmwconfigディレクトリからcwallet.sso、jps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。

8.2.2.2 GlassFish/Metro Webサービスの構成

1. Metro Webサービスを作成します。詳細は、http://metro.java.net/guide/を参照してください。

2. 適切なセキュリティ・メカニズムを構成します。詳細は、http://metro.java.net/guide/を参照してください。

8.2.2.3 Oracle WSM 11gクライアントの構成

1. JDeveloperを使用して、GlassFishサービスのWebサービス・プロキシを作成します。ウィザードでoracle/wss11_username_token_with_message_protection_client_policyポリシーを選択します。

2. Webサービス・プロキシの「プロパティのオーバーライド」オプションで、csf-keyをglassfish.credentialsに設定します。

3. Webサービス・プロキシのメイン・クラス内で、oracle.security.jps.configのシステム・プロパティを、「相互運用性のための構成の前提条件」のステップ6でコピーしたjps-config.xmlに設定します。

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

注意:

次を使用している場合

- Oracle Service Busビジネス・サービス: 「セキュリティ」ページでプロパティのオーバーライドをglassfish.credentialsに設定します。詳細は、http://download.oracle.com/docs/html/E15866_01/owsm.htmの『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』で、ポリシーのオーバーライドに関する項を参照してください。

- SOA Webサービス参照: 「セキュリティ」ページでプロパティのオーバーライドをglassfish.credentialsに設定します。詳細は、http://download.oracle.com/docs/cd/E15523_01/integration.1111/b56238/sca_policy.htm#CDDEIAFAのSOA Suiteの開発者ガイドで、ポリシー構成のプロパティ値のオーバーライド方法に関する項を参照してください。

8.3 メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.1)

次の各項では、WS-Security 1.1標準に準拠するメッセージ保護付きSAMLトークン(送信者保証)を実装する方法について説明します。

- 「GlassFishクライアントおよびOracle WSM 11g Webサービスの構成」

- 「Oracle WSM 11gクライアントおよびGlassFish Webサービスの構成」

8.3.1 GlassFishクライアントおよびOracle WSM 11g Webサービスの構成

GlassFishクライアントおよびOracle WSM 11g Webサービスを構成するには、次の各項で説明する手順を実行します。

8.3.1.1 相互運用性のための構成の前提条件

次の前提条件ステップを実行します。

1. 次のコマンドを使用して、default-keystore.jksファイルを作成します。

$JAVA_HOME/bin/keytool -genkeypair -alias orakey -keypass welcome -keyalg RSA
-dname "CN=orakey, O=oracle C=us" -keystore default-keystore.jks -storepass
welcome

2. default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。

3. 次のコマンドを使用して、GlassFish内にファイル・ユーザーを作成します。

$<GLASSFISHV3_HOME>/glassfish/bin/asadmin create-file-user

詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2433/create-file-user-1.htmlを参照してください。

4. Oracle Fusion Middleware Oracle WebLogic Server管理コンソール・ヘルプのユーザーの作成に関する項の説明に従って、ユーザーを追加します。

5. default-keystore.jksからorakeyをGlassFishのキーストアおよび信頼ストアにインポートします。これらは<domain-dir>/configディレクトリ内にあります。

$JAVA_HOME/bin/keytool -importkeystore -srckeystore
<path-to>/default-keystore.jks -destkeystore
<path-to-gf-domain>/config/cacerts.jks -srcalias  orakey -destalias orakey
-srckeypass welcome -destkeypass changeit

6. ドメインのfmwconfigディレクトリからjps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。

8.3.1.2 Oracle WSM 11g Webサービスの構成

1. Webサービスを作成します。

2. oracle/wss11_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

8.3.1.3 GlassFish/Metroクライアントの構成

1. NetBeansを使用して、「新規プロジェクト」→「Java」→「Javaアプリケーション」を選択することにより、Metroクライアントを作成します。プロジェクトの名前と場所を指定し、デプロイするサーバーを選択して「終了」を選択します。

2. プロジェクトを右クリックします。「New」→「Web service Client」を選択します。ウィザードに従って、WebLogic内にデプロイされるサービスのWSDL URLを入力します。

3. NetBeansでサポートされるWSIT SAMLセキュリティ・メカニズムとともに使用されるSAML CallbackHandlerを作成します。

1. ファイルをプロジェクトのソース・フォルダに置きます。

2. 発行者の変数の値が、「相互運用性のための構成の前提条件」のステップ5で作成したjps-config.xmlファイルのものと同じであることを確認します。

3. urnの参照を、urn:oasis:names:tc:SAML:1.1:nameid-format:unspecifiedに設定します。

4. 「相互運用性のための構成の前提条件」のステップ3およびステップ4で作成したユーザーを設定します。たとえば、ユーザーをwlsuserにするには、次のようにファイルを変更します。
CN=wlsuser,OU=SU,O=wlsuser,L=Los Angeles,ST=CA,C=US

4. JVMを構成するには、GlassFishの管理コンソールにログオンします。詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2416/gepzd.htmlを参照してください。

1. 左側のペインで「構成」を開き、JVM設定をクリックします。

2. 右側のペインで「JVMオプション」タブをクリックします。

3. JVMオプションの追加をクリックします。新規のテキスト・フィールドが表示されます。-DWSIT_HOME=${com.sun.aas.installRoot}と入力します。

4. 左側のペインで「エンタープライズ・サーバー」をクリックします。

5. 右側のペインで「再起動」をクリックして、サーバーを再起動します。

5. Webサービス参照ノードを開きます。NetBeansを使用して、「サービス参照」を右クリックしてWebサービス属性の編集を選択します。

6. SAMLのコールバック・ハンドラのオプションのため、「参照」をクリックして、ステップ3からファイルを選択します。

7. キーストアおよび信頼ストアのエイリアスを設定します。

8. index.jspファイルを開きます。右クリックしてWebサービス・クライアント参照を選択します。起動する操作の選択ダイアログボックスから操作を選択して、「OK」をクリックします。

9. プロジェクトを実行します。

8.3.2 Oracle WSM 11gクライアントおよびGlassFish Webサービスの構成

Oracle WSM 11gクライアントおよびGlassFish Webサービスを構成するには、次の各項で説明する手順を実行します。

8.3.2.1 相互運用性のための構成の前提条件

次の前提条件ステップを実行します。

1. 次のコマンドを使用して、default-keystore.jksファイルを作成します。

$JAVA_HOME/bin/keytool -genkeypair -alias orakey -keypass welcome -keyalg RSA
-dname "CN=orakey, O=oracle C=us" -keystore default-keystore.jks -storepass
welcome

2. default-keystore.jksをドメインのfmwconfigディレクトリにコピーします。

3. WLSTコマンドを使用して、資格証明を資格証明ストアに保存します。例:

$<ORACLE_HOME>/common/bin/wlst.sh
> connect()
> createCred(map="oracle.wsm.security", key="keystore-csf-key",
user="keystore", password="welcome")
> createCred(map="oracle.wsm.security", key="sign-csf-key", user="orakey",
password="welcome")
> createCred(map="oracle.wsm.security", key="enc-csf-key", user="orakey",
password="welcome")
>createCred(map="oracle.wsm.security", key="glassfish.credentials" ,
user="wlsUser" , password="welcome1" , description="Glassfish user
credentials");

cwallet.ssoというファイルがDOMAIN_HOME/config/fmwconfigディレクトリ内に作成されます。

4. 次のコマンドを使用して、GlassFish内にファイル・ユーザーを作成します。

$<GLASSFISHV3_HOME>/glassfish/bin/asadmin create-file-user

詳細は、http://download.oracle.com/docs/cd/E18930_01/html/821-2433/create-file-user-1.htmlを参照してください。

5. default-keystore.jksからorakeyをGlassFishのキーストアおよび信頼ストアにインポートします。これらは<domain-dir>/configディレクトリ内にあります。

$JAVA_HOME/bin/keytool -importkeystore -srckeystore
<path-to>/default-keystore.jks -destkeystore
<path-to-gf-domain>/config/keystore.jks -srcalias  orakey -destalias orakey
-srckeypass welcome -destkeypass changeit

6. ドメインのfmwconfigディレクトリからcwallet.sso、jps-config.xmlおよびdefault-keystore.jksをローカル・フォルダにコピーします。

8.3.2.2 GlassFish/Metro Webサービスの構成

1. Metro Webサービスを作成します。詳細は、http://metro.java.net/guide/を参照してください。

2. 適切なセキュリティ・メカニズムを構成します。詳細は、http://metro.java.net/guide/を参照してください。

8.3.2.3 Oracle WSM 11gクライアントの構成

1. JDeveloperを使用して、GlassFishサービスのWebサービス・プロキシを作成します。ウィザードでoracle/wss11_saml_token_with_message_protection_client_policyポリシーを選択します。

2. 「相互運用性のための構成の前提条件」のステップ6で作成したjps-config.xmlファイルへのパスを設定します。

3. USERNAME_PROPERTYを次のように設定します。((BindingProvider) sAMLTokenEchoService).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "wlsUser");

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

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2014, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。