Oracle® Fusion Middleware Oracle Web Services Manager相互運用ガイド 11gリリース1 (11.1.1.6) B61391-04 |
|
前 |
次 |
この章では、セキュリティ要件(認証、メッセージ保護およびトランスポート)に基づいたOracle Containers for Java EE (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 |
|
「メッセージ保護付き匿名認証(WS-Security 1.0)」 |
Oracle WSM 11g→OC4J10g |
oracle/wss10_message_protection_client_policy |
|
「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」 |
OC4J10g→Oracle WSM 11g |
oracle/wss10_username_token_with_message_protection_service_policy |
|
「メッセージ保護付きユーザー名トークン(WS-Security 1.0)」 |
Oracle WSM 11g→OC4J10g |
oracle/wss10_username_token_with_message_protection_client_policy |
|
「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」 |
OC4J10g→Oracle WSM 11g |
oracle/wss10_saml_token_with_message_protection_service_policy |
|
「メッセージ保護付きSAMLトークン(送信者保証)(WS-Security 1.0)」 |
Oracle WSM 11g→OC4J10g |
oracle/wss10_saml_token_with_message_protection_client_policy |
|
「メッセージ保護付き相互認証(WS-Security 1.0)」 |
OC4J10g→Oracle WSM 11g |
oracle/wss10_x509_token_with_message_protection_service_policy |
|
「メッセージ保護付き相互認証(WS-Security 1.0)」 |
Oracle WSM 11g→OC4J10g |
oracle/wss10_x509_token_with_message_protection_client_policy |
|
|
OC4J10g→Oracle WSM 11g |
oracle/wss_username_token_over_ssl_service_policy または oracle/wss_saml_or_username_token_over_ssl_service_policy |
|
|
Oracle WSM 11g→OC4J10g |
oracle/wss_username_token_over_ssl_client_policy |
|
「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 |
|
「SSL経由のSAMLトークン(送信者保証)(WS-Security 1.0)」 |
Oracle WSM 11g→OC4J10g |
oracle/wss_saml_token_over_ssl_client_policy |
この項では、次のシナリオにおいてWS-Security 1.0標準に準拠するメッセージ保護付き匿名認証を実装する方法について説明します。
OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。
Webサービス・アプリケーションを作成します。
oracle/wss10_message_protection_service_policyポリシーをWebサービスのエントリ・ポイントにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。
Oracle JDeveloperを使用して、(前述の)Webサービスのクライアント・プロキシを作成します。
Oracle JDeveloperウィザードを使用して、プロキシを保護します。これには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。
プロキシ・エディタ・ナビゲーション・バーの「認証」をクリックし、次のオプションを設定します。
「認証なし」を選択します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド整合性」をクリックし、次のオプションを設定します。
「インバウンド署名リクエスト本体の検証」を選択します。
「タイムスタンプの検証」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
「許容する署名アルゴリズム」の下のすべてのオプションを選択します。
プロキシ・エディタ・ナビゲーション・バーの「アウトバウンド整合性」をクリックし、次のオプションを設定します。
「アウトバウンド・メッセージの署名」を選択します。
「アウトバウンド・メッセージにタイムスタンプを追加」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド機密保護」をクリックし、次のオプションを設定します。
「インバウンド・メッセージ・コンテンツの復号化」を選択します。
「許容する署名アルゴリズム」の下のすべてのオプションを選択します。
プロキシ・エディタ・ナビゲーション・バーの「アウトバウンド機密保護」をクリックし、次のオプションを設定します。
「アウトバウンド・メッセージの暗号化」を選択します。
「アルゴリズム」を「AES-128」に設定します。
プロキシ・エディタ・ナビゲーション・バーの「キーストア・オプション」をクリックし、必要に応じてキーストア・プロパティを構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
「OK」をクリックし、ウィザードを閉じます。
「構造」ペインで<appname>Binding_Stub.xmlをクリックし、次の項の説明に従ってこのファイルを編集します。
クライアントからWebサービス・メソッドを起動します。
<appname>Binding_Stub.xmlファイルの編集
キーストア・パスワード、署名キー・パスワードおよび暗号化キー・パスワードを指定します。
インバウンド署名で、次のように指定します。
<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" /> ...
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します。
<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"/> ...
アウトバウンド暗号化で、次のようにキー・トランスポート・アルゴリズムを指定します。
<outbound><encrypt> <keytransport-method>RSA-OAEP-MGF1P</keytransport-method> ...
Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。
Webサービス・アプリケーションを作成してデプロイします。
Application Server Controlを使用して、デプロイしたWebサービスを保護します。
「認証」タブをクリックし、いずれのオプションも選択されていなことを確認します。
「インバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。
「メッセージ本文に署名が必要」を選択します。
「タイムスタンプの検証」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
「アウトバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。
「メッセージのbody要素への署名」を選択します。
「署名メソッド」を「RSA-SHA1」に設定します。
「タイムスタンプの追加」および「タイムスタンプ中に作成時間が必要」を選択します。
「有効期限」(秒)を入力します。
「インバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。
「メッセージ本文に暗号化が必要」を選択します。
「アウトバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。
「メッセージのbody要素の暗号化」を選択します。
「暗号化メソッド」を「AES-128」に設定します。
公開鍵を暗号化に設定します。
キーストア・プロパティおよびアイデンティティ証明書を構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。
OC4J 10g Webサービスのクライアント・プロキシを作成します。
oracle/wss10_message_protection_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。
『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss10_username_token_with_message_protection_client_policyに関する項の説明に従って、このポリシーを構成します。
クライアントからWebサービス・メソッドを起動します。
wsmgmt.xmlファイルの編集
次のようにして、ORACLE_HOME/j2ee/oc4j_instance/config内のwsmgmt.xmlファイルを編集します。
インバウンド署名で、次のように指定します。
<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"/> ...
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します。
<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"/> ...
アウトバウンド暗号化で、次のようにキー・トランスポート・アルゴリズムを指定します。
<outbound><encrypt> <keytransport-method>RSA-OAEP-MGF1P</keytransport-method> ...
次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装する方法について説明します。
OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。
Oracle WSM 11g Webサービスを作成します。
oracle/wss10_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。
Oracle JDeveloperを使用して、(前述の)Webサービスのクライアント・プロキシを作成します。
クライアント・プロキシ内のユーザー名およびパスワードを次のように指定します。
port.setUsername(<username>) port.setPassword(<password>)
Oracle JDeveloperウィザードを使用して、プロキシを保護します。これには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。
プロキシ・エディタ・ナビゲーション・バーの「認証」をクリックし、次のオプションを設定します。
「認証にユーザー名を使用」を選択します。
「Nonceを追加」および「作成時間を追加」を選択解除します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド整合性」をクリックし、次のオプションを設定します。
「インバウンド署名リクエスト本体の検証」を選択します。
「タイムスタンプの検証」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
「許容する署名アルゴリズム」の下のすべてのオプションを選択します。
プロキシ・エディタ・ナビゲーション・バーの「アウトバウンド整合性」をクリックし、次のオプションを設定します。
「アウトバウンド・メッセージの署名」を選択します。
「アウトバウンド・メッセージにタイムスタンプを追加」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド機密保護」をクリックし、次のオプションを設定します。
「インバウンド・メッセージ・コンテンツの復号化」を選択します。
「許容する署名アルゴリズム」の下のすべてのオプションを選択します。
プロキシ・エディタ・ナビゲーション・バーの「アウトバウンド機密保護」をクリックし、次のオプションを設定します。
「アウトバウンド・メッセージの暗号化」を選択します。
「アルゴリズム」を「AES-128」に設定します。
プロキシ・エディタ・ナビゲーション・バーの「キーストア・オプション」をクリックし、必要に応じてキーストア・プロパティを構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
「OK」をクリックし、ウィザードを閉じます。
「構造」ペインで<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってこのファイルを編集します。
Webサービスを起動します。
<appname>Binding_Stub.xmlファイルの編集
次のようにして、<appname>Binding_Stub.xmlファイルを編集します。
キーストア・パスワード、署名キー・パスワードおよび暗号化キー・パスワードを指定します。
インバウンド署名で、次のように指定します。
<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" /> ...
アウトバウンド署名で、次のようにタイムスタンプおよび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"/> ...
アウトバウンド暗号化で、次のようにキー・トランスポート・アルゴリズムを指定します。
<outbound><encrypt> <keytransport-method>RSA-OAEP-MGF1P</keytransport-method> ...
アウトバウンド暗号化で、次のようにUsernameTokenに暗号化が必要であることを指定します。
<outbound>/<encrypt>/<tbe-elements> <tbe-element local-part="UsernameToken" name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity -secext-1.0.xsd" mode="CONTENT"/> ...
Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。
JAX-RPC Webサービスを作成してOC4Jにデプロイします。
Application Server Controlを使用して、デプロイしたWebサービスを保護します。
「認証」タブをクリックし、次のオプションを設定します。
「ユーザー名/パスワード認証の使用」を選択します。
「パスワード」を「プレーン・テキスト」に設定します。
「インバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。
「メッセージ本文に署名が必要」を選択します。
「タイムスタンプの検証」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
「アウトバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。
「メッセージのbody要素への署名」を選択します。
「署名メソッド」を「RSA-SHA1」に設定します。
「タイムスタンプの追加」および「タイムスタンプ中に作成時間が必要」を選択します。
「有効期限」(秒)を入力します。
「インバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。
「メッセージ本文に暗号化が必要」を選択します。
「アウトバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。
「メッセージのbody要素の暗号化」を選択します。
「暗号化メソッド」を「AES-128」に設定します。
公開鍵を暗号化に設定します。
キーストア・プロパティおよびアイデンティティ証明書を構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。
OC4J 10g Webサービスのクライアント・プロキシを作成します。
oracle/wss10_username_token_with_message_protection_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。
『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss10_username_token_with_message_protection_client_policyに関する項の説明に従って、このポリシーを構成します。
クライアントからWebサービス・メソッドを起動します。
wsmgmt.xmlファイルの編集
次のようにして、ORACLE_HOME/j2ee/oc4j_instance/config内のwsmgmt.xmlファイルを編集します。
インバウンド署名で、次のように指定します。
<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"/> ...
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します。
<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"/> ...
アウトバウンド暗号化で、次のようにUsernameTokenに暗号化が必要であることを指定します。
<outbound>/<encrypt>/<tbe-elements> <tbe-element local-part="UsernameToken" name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity -secext-1.0.xsd" mode="CONTENT"/> ...
次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークン送信者保証を実装する方法について説明します。
OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。
Oracle WSM 11g Webサービスを作成します。
oracle/wss10_saml_token__with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。
Oracle JDeveloperを使用して、(前述の)Webサービスのクライアント・プロキシを作成します。
Oracle JDeveloperウィザードを使用して、プロキシを保護します。これには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。
プロキシ・エディタ・ナビゲーション・バーの「認証」をクリックし、次のオプションを設定します。
「SAMLトークンの使用」を選択します。
「SAML詳細」をクリックします。
「送信者保証確認」および「署名の使用」を選択します。
「デフォルト・サブジェクト名」として、伝播する必要のあるユーザー名を入力します。
「デフォルト発行者名」としてwww.oracle.comを入力します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド整合性」をクリックし、次のオプションを設定します。
「インバウンド署名リクエスト本体の検証」を選択します。
「タイムスタンプの検証」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
「許容する署名アルゴリズム」の下のすべてのオプションを選択します。
プロキシ・エディタ・ナビゲーション・バーの「アウトバウンド整合性」をクリックし、次のオプションを設定します。
「アウトバウンド・メッセージの署名」を選択します。
「アウトバウンド・メッセージにタイムスタンプを追加」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド機密保護」をクリックし、次のオプションを設定します。
「インバウンド・メッセージ・コンテンツの復号化」を選択します。
「許容する署名アルゴリズム」の下のすべてのオプションを選択します。
プロキシ・エディタ・ナビゲーション・バーの「アウトバウンド機密保護」をクリックし、次のオプションを設定します。
「アウトバウンド・メッセージの暗号化」を選択します。
「アルゴリズム」を「AES-128」に設定します。
プロキシ・エディタ・ナビゲーション・バーの「キーストア・オプション」をクリックし、必要に応じてキーストア・プロパティを構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
「OK」をクリックし、ウィザードを閉じます。
「構造」ペインで<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってこのファイルを編集します。
Webサービス・メソッドを起動します。
<appname>Binding_Stub.xmlファイルの編集
次のようにして、<appname>Binding_Stub.xmlファイルを編集します。
キーストア・パスワード、署名キー・パスワードおよび暗号化キー・パスワードを指定します。
インバウンド署名で、次のように指定します。
<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" /> ...
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します。
<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"/> ...
アウトバウンド暗号化で、次のようにキー・トランスポート・アルゴリズムを指定します。
<outbound><encrypt> <keytransport-method>RSA-OAEP-MGF1P</keytransport-method> ...
Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。
JAX-RPC Webサービスを作成してOC4Jにデプロイします。
Application Server Controlを使用して、デプロイしたWebサービスを保護します。
ナビゲーション・バーの「認証」をクリックし、次のオプションを設定します。
「SAML認証の使用」を選択します。
「送信者保証の許容」を選択します。
「署名の検証」を選択解除します。
ナビゲーション・バーの「インバウンド整合性」をクリックし、次のオプションを設定します。
「メッセージ本文に署名が必要」を選択します。
「タイムスタンプの検証」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
ナビゲーション・バーの「アウトバウンド整合性」をクリックし、次のオプションを設定します。
「メッセージのbody要素への署名」を選択します。
「署名メソッド」を「RSA-SHA1」に設定します。
「タイムスタンプの追加」および「タイムスタンプ中に作成時間が必要」を選択します。
「有効期限」(秒)を入力します。
ナビゲーション・バーの「インバウンド機密保護」をクリックし、次のオプションを設定します。
「メッセージ本文に暗号化が必要」を選択解除します。
ナビゲーション・バーの「アウトバウンド機密保護」をクリックし、次のオプションを設定します。
「メッセージのbody要素の暗号化」を選択します。
「暗号化メソッド」を「AES-128」に設定します。
公開鍵を暗号化に設定します。
キーストア・プロパティおよびアイデンティティ証明書を構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
詳細は、Oracle Fusion Middlewareの管理者ガイドを参照してください。
「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。
Webサービスを起動します。
OC4J 10g Webサービスのクライアント・プロキシを作成します。
oracle/wss10_saml_token_with_message_protection_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。
『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss10_saml_token_with_message_protection_client_policyに関する項の説明に従って、このポリシーを構成します。
クライアントからWebサービス・メソッドを起動します。
wsmgmt.xmlファイルの編集
次のようにして、ORACLE_HOME/j2ee/oc4j_instance/config内のwsmgmt.xmlファイルを編集します。
インバウンド署名で、次のように指定します。
<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"/> ...
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します。
<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"/> ...
アウトバウンド暗号化で、次のようにUsernameTokenに暗号化が必要であることを指定します。
<outbound>/<encrypt>/<tbe-elements> <tbe-element local-part="UsernameToken" name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity -secext-1.0.xsd" mode="CONTENT"/> ...
次の各項では、WS-Security 1.0標準に準拠するメッセージ保護付き相互認証を実装する方法について説明します。
OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。
Webサービス・アプリケーションを作成します。
oracle/wss10_x509_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。
Oracle JDeveloperを使用して、(前述の)Webサービスのクライアント・プロキシを作成します。
Oracle JDeveloperウィザードを使用して、プロキシを保護します。これには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。
プロキシ・エディタ・ナビゲーション・バーの「認証」をクリックし、次のオプションを設定します。
「認証にX509を使用」を選択します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド整合性」をクリックし、次のオプションを設定します。
「インバウンド署名リクエスト本体の検証」を選択します。
「タイムスタンプの検証」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
「許容する署名アルゴリズム」の下のすべてのオプションを選択します。
プロキシ・エディタ・ナビゲーション・バーの「アウトバウンド整合性」をクリックし、次のオプションを設定します。
「アウトバウンド・メッセージの署名」を選択します。
「アウトバウンド・メッセージにタイムスタンプを追加」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド機密保護」をクリックし、次のオプションを設定します。
「インバウンド・メッセージ・コンテンツの復号化」を選択します。
「許容する署名アルゴリズム」の下のすべてのオプションを選択します。
プロキシ・エディタ・ナビゲーション・バーの「アウトバウンド機密保護」をクリックし、次のオプションを設定します。
「アウトバウンド・メッセージの暗号化」を選択します。
「アルゴリズム」を「AES-128」に設定します。
プロキシ・エディタ・ナビゲーション・バーの「キーストア・オプション」をクリックし、必要に応じてキーストア・プロパティを構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
「OK」をクリックし、ウィザードを閉じます。
「構造」ペインで<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってこのファイルを編集します。
Webサービスを起動します。
<appname>Binding_Stub.xmlファイルの編集
次のようにして、<appname>Binding_Stub.xmlファイルを編集します。
キーストア・パスワード、署名キー・パスワードおよび暗号化キー・パスワードを指定します。
インバウンド署名で、次のように指定します。
<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" /> ...
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します。
<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"/> ...
アウトバウンド暗号化で、次のようにキー・トランスポート・アルゴリズムを指定します。
<outbound><encrypt> <keytransport-method>RSA-OAEP-MGF1P</keytransport-method> ...
Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。
JAX-RPC Webサービスを作成してOC4Jにデプロイします。
Application Server Controlを使用して、デプロイしたWebサービスを保護します。
「認証」タブをクリックし、次のオプションを設定します。
「X509証明書認証の使用」を選択します。
「インバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。
「メッセージ本文に署名が必要」を選択します。
「タイムスタンプの検証」および「タイムスタンプに必要な作成時間」を選択します。
「有効期限」(秒)を入力します。
「アウトバウンド・ポリシー」ページの「完全性」タブをクリックし、次のオプションを設定します。
「メッセージのbody要素への署名」を選択します。
「署名メソッド」を「RSA-SHA1」に設定します。
「タイムスタンプの追加」および「タイムスタンプ中に作成時間が必要」を選択します。
「有効期限」(秒)を入力します。
「インバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。
「メッセージ本文に暗号化が必要」を選択します。
「アウトバウンド・ポリシー」ページの「秘匿性」タブをクリックし、次のオプションを設定します。
「メッセージのbody要素の暗号化」を選択します。
「暗号化メソッド」を「AES-128」に設定します。
公開鍵を暗号化に設定します。
キーストア・プロパティおよびアイデンティティ証明書を構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。
OC4J 10g Webサービスへのクライアント・プロキシを作成します。
oracle/wss10_x509_token_with_message_protection_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。
『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss10_x509_token_with_message_protection_client_policyに関する項の説明に従って、このポリシーを構成します。
Webサービスを起動します。
wsmgmt.xmlファイルの編集
次のようにして、ORACLE_HOME/j2ee/oc4j_instance/config内のwsmgmt.xmlファイルを編集します。
インバウンド署名で、次のように指定します。
<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"/> ...
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します。
<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"/> ...
アウトバウンド暗号化で、次のようにUsernameTokenに暗号化が必要であることを指定します。
<outbound>/<encrypt>/<tbe-elements> <tbe-element local-part="UsernameToken" name-space="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity -secext-1.0.xsd" mode="CONTENT"/> ...
次の各項では、SSL経由のユーザー名トークンを実装する方法について説明します。
関連項目:
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
を参照してください。
OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。
サーバーをSSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(一方向)およびWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。
次のポリシーの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サービスへのポリシーのアタッチに関する項を参照してください。
Oracle JDeveloperを使用して、(前述の)Webサービスのクライアント・プロキシを作成します。
Webサービス・エンドポイントが、Oracle WebLogic ServerでHTTPSおよびSSLポートが構成されているURLを参照していることを確認してください。
次のコードを(クライアント・プロキシ・コードの最初に)追加して、双方向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");
Oracle JDeveloperウィザードを使用して、プロキシを保護します。これには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。
プロキシ・エディタ・ナビゲーション・バーの「認証」をクリックし、次のオプションを設定します。
「認証にユーザー名を使用」を選択します。
「Nonceを追加」および「作成時間を追加」を選択解除します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド整合性」をクリックし、すべてのオプションを選択解除します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド整合性」をクリックし、すべてのオプションを選択解除します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド機密保護」をクリックし、すべてのオプションを選択解除します。
プロキシ・エディタ・ナビゲーション・バーの「アウトバウンド機密保護」をクリックし、すべてのオプションを選択解除します。
プロキシ・エディタ・ナビゲーション・バーの「キーストア・オプション」をクリックし、必要に応じてキーストア・プロパティを構成します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
「OK」をクリックし、ウィザードを閉じます。
「構造」ペインで<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってこのファイルを編集します。
Webサービスを起動します。
<appname>Binding_Stub.xmlファイルの編集
次のようにして、<appname>Binding_Stub.xmlファイルを編集します。
キーストア・パスワード、署名キー・パスワードおよび暗号化キー・パスワードを指定します。
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します(それ以外のタグはすべて削除します)。
<outbound> <signature> <add-timestamp created="true" expiry="<Expiry_Time>"/> </signature> ...
Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。
サーバーをSSL用に構成します。
詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htm
を参照してください。
Application Server Controlを使用して、デプロイしたWebサービスを保護します。
「認証」タブをクリックし、次のオプションを設定します。
「ユーザー名/パスワード認証の使用」を選択します。
「インバウンド・ポリシー」ページの「完全性」タブをクリックし、すべてのオプションを選択解除します。
「アウトバウンド・ポリシー」ページの「完全性」タブをクリックし、すべてのオプションを選択解除します。
「インバウンド・ポリシー」ページの「秘匿性」タブをクリックし、すべてのオプションを選択解除します。
「アウトバウンド・ポリシー」ページの「秘匿性」タブをクリックし、すべてのオプションを選択解除します。
「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。
clientgenを使用して、OC4J 10g Webサービスへのクライアント・プロキシを作成します。
Webサービス・エンドポイントが、Oracle WebLogic ServerでHTTPSおよびSSLポートが構成されているURLを参照していることを確認してください。
次のコードを(クライアント・プロキシ・コードの最初に)追加して、双方向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");
oracle/wss_username_token_over_ssl_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。
『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss_username_token_over_ssl_client_policyに関する項の説明に従って、このポリシーを構成します。
Webサービスを起動します。
wsmgmt.xmlファイルの編集
次のようにして、ORACLE_HOME/j2ee/oc4j_instance/config内のwsmgmt.xmlファイルを編集します。
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します(それ以外のタグはすべて削除します)。
<outbound> <signature> <add-timestamp created="true" expiry="<Expiry_Time>"/> </signature> ...
次の各項では、WS-Security 1.0標準に準拠するSSL経由のSAMLトークン(送信者保証)を実装する方法について説明します。
関連項目:
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
を参照してください。
OC4J 10gクライアントおよびOracle WSM 11g Webサービスを構成するには、次の手順を実行します。
サーバーを双方向SSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。
次のポリシーをWebサービスにアタッチします。
oracle/wss_saml_token_over_ssl_service_policyまたは
oracle/wss_username_or_saml_token_over_ssl_service_policy。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。
サーバーを双方向SSL用に構成します。
詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htm
を参照してください。
Oracle JDeveloperを使用して、(前述の)Webサービスのクライアント・プロキシを作成します。
Webサービス・エンドポイントが、Oracle WebLogic ServerでHTTPSおよびSSLポートが構成されているURLを参照していることを確認してください。
次のコードを(クライアント・プロキシ・コードの最初に)追加して、双方向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");
Oracle JDeveloperウィザードを使用して、プロキシを保護します。これには、プロキシ・プロジェクトを右クリックし、「セキュアなプロキシ」を選択します。
プロキシ・エディタ・ナビゲーション・バーの「認証」をクリックし、次のオプションを設定します。
「SAMLトークンの使用」を選択します。
「SAML詳細」をクリックします。
「送信者保証確認」を選択します。
「デフォルト・サブジェクト名」として有効なユーザー名を入力します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド整合性」をクリックし、次のオプションを設定します。
「署名されたインバウンド・メッセージ本体の検証」を選択解除します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド整合性」をクリックし、すべてのオプションを選択解除します。
プロキシ・エディタ・ナビゲーション・バーの「インバウンド機密保護」をクリックし、次のオプションを設定します。
「インバウンド・メッセージ・コンテンツの復号化」を選択解除します。
プロキシ・エディタ・ナビゲーション・バーの「アウトバウンド機密保護」をクリックし、次のオプションを設定します。
「アウトバウンド・メッセージの暗号化」を選択解除します。
使用するキーストアに必要な情報を指定します。
「OK」をクリックし、ウィザードを閉じます。
「構造」ペインで<appname>Binding_Stub.xmlをクリックし、「<appname>Binding_Stub.xmlファイルの編集」の説明に従ってこのファイルを編集します。
Webサービスを起動します。
<appname>Binding_Stub.xmlファイルの編集
次のようにして、<appname>Binding_Stub.xmlファイルを編集します。
キーストア・パスワード、署名キー・パスワードおよび暗号化キー・パスワードを指定します。
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します(それ以外のタグはすべて削除します)。
<outbound> <signature> <add-timestamp created="true" expiry="<Expiry_Time>"/> </signature> ...
Oracle WSM 11gクライアントおよびOC4J 10g Webサービスを構成するには、次の手順を実行します。
サーバーを双方向SSL用に構成します。
詳細は、http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/configssl.htm
を参照してください。
Application Server Controlを使用して、デプロイしたWebサービスを保護します。
ナビゲーション・バーの「認証」をクリックし、次のオプションを設定します。
「SAML認証の使用」を選択します。
「送信者保証の許容」を選択します。
「署名の検証」を選択解除します。
「インバウンド・ポリシー」ページの「完全性」タブをクリックし、すべてのオプションを選択解除します。
「アウトバウンド・ポリシー」ページの「完全性」タブをクリックし、すべてのオプションを選択解除します。
「インバウンド・ポリシー」ページの「秘匿性」タブをクリックし、すべてのオプションを選択解除します。
「アウトバウンド・ポリシー」ページの「秘匿性」タブをクリックし、すべてのオプションを選択解除します。
「wsmgmt.xmlファイルの編集」の説明に従って、wsmgmt.xmlデプロイメント・ディスクリプタ・ファイルを編集します。
サーバーを双方向SSL用に構成します。
詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebLogic ServerへのSSLの構成(双方向)に関する項を参照してください。
OC4J 10g Webサービスへのクライアント・プロキシを作成します。
Webサービス・エンドポイントが、Oracle WebLogic ServerでHTTPSおよびSSLポートが構成されているURLを参照していることを確認してください。
oracle/wss_saml_token_over_ssl_client_policyポリシーをアタッチします。
ポリシーをアタッチする方法の詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービス・クライアントへのポリシーのアタッチに関する項を参照してください。
『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のoracle/wss_saml_token_over_ssl_client_policyに関する項の説明に従って、このポリシーを構成します。
Webサービスを起動します。
wsmgmt.xmlファイルの編集
次のようにして、ORACLE_HOME/j2ee/oc4j_instance/config内のwsmgmt.xmlファイルを編集します。
アウトバウンド署名で、次のようにタイムスタンプに署名が必要であることを指定します(それ以外のタグはすべて削除します)。
<outbound> <signature> <add-timestamp created="true" expiry="<Expiry_Time>"/> </signature> ...