Oracle® Fusion Middleware Oracle Web Services Manager相互運用性ソリューション・ガイド 12c (12.2.1.3.0) E90307-02 |
|
![]() 前 |
![]() 次 |
この章の内容は次のとおりです。
Axis 1.4およびWSS4J 1.5.8では、ハンドラおよびデプロイメント・ディスクリプタを使用してインバウンド・リクエストとアウトバウンド・リクエストのセキュリティ環境を構成します。
OWSMポリシーおよび相互運用性シナリオの詳細は、次のシナリオで説明します。
詳細は、http://ws.apache.org/wss4j/axis.html
の『Axis Deployment Tutorial』を参照してください。
OWSM 12cでは、ポリシーをWebサービス・エンドポイントにアタッチします。ポリシーはドメインレベルで定義された1つ以上のアサーションで構成されています。アサーションはセキュリティ要件の定義です。そのまま使用できる事前定義のポリシーとアサーションのセットが用意されています。
詳細は、次を参照してください。
OWSM事前定義済ポリシーについては、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』の事前定義済ポリシーに関する説明を参照してください。
OWSM 12cポリシーの構成およびアタッチについては、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービスの保護に関する説明およびポリシーのアタッチに関する説明を参照してください。
Axis/WSS4Jでポリシーを構成およびアタッチする方法の詳細は、http://ws.apache.org/wss4j/axis.html
の『Axis Deployment Tutorial』を参照してください。
OWSM 12cとAxis/WSS4Jとの間の相互運用性には様々なシナリオがあります。
次の表に、OWSM 12cサービス・ポリシーとAxis/WSS4Jクライアント・ポリシーの相互運用性シナリオを示します。
表8-1 OWSM 12cサービス・ポリシーとAxis WSS4Jクライアント・ポリシーの相互運用性
アイデンティティ・トークン | WS-Securityバージョン | メッセージ保護 | トランスポート・セキュリティ | サービス・ポリシー | クライアント・ポリシー |
---|---|---|---|---|---|
ユーザー名 |
1.0 |
はい |
いいえ |
|
|
SAML |
1.0 |
はい |
いいえ |
|
|
ユーザー名 |
1.0および1.1 |
いいえ |
はい |
|
|
SAML |
1.0および1.1 |
いいえ |
はい |
|
SAMLTokenUnsigned Timestamp |
次の表に、Axis/WSS4Jサービス・ポリシーとOWSM 12cクライアント・ポリシーの相互運用性シナリオを示します。
表8-2 Axis WSS4Jサービス・ポリシーとOWSM 12cクライアント・ポリシーの相互運用性
アイデンティティ・トークン | WS-Securityバージョン | メッセージ保護 | トランスポート・セキュリティ | サービス・ポリシー | クライアント・ポリシー |
---|---|---|---|---|---|
ユーザー名 |
1.0 |
はい |
いいえ |
|
|
SAML |
1.0 |
はい |
いいえ |
|
|
ユーザー名 |
1.0および1.1 |
いいえ |
はい |
|
|
SAML |
1.0および1.1 |
いいえ |
はい |
|
o |
Axis/WSS4Jの相互運用性シナリオそれぞれに、ハンドラおよびプロパティ・ファイルが必要です。
ハンドラおよびプロパティ・ファイルを作成する手順は、次のとおりです。
メッセージ保護付きユーザー名トークン・ポリシーは、WS-Security 1.0標準に準拠します。このポリシーは、OWSM 12c WebサービスとAxis/WSS4Jクライアントとの間の相互運用性およびAxis/WSS4J WebサービスとOWSM 12cクライアントとの間の相互運用性を実現するために実装されます。
次のトピックでは、様々な相互運用性シナリオにおいてメッセージ保護付きユーザー名トークンを実装する方法について説明します。
OWSM 12c WebサービスとAxis/WSS4Jクライアントを使用して、WS-Security 1.0標準に準拠したメッセージ保護付きユーザー名トークンを実装できます。
次のトピックでは、メッセージ保護付きユーザー名トークンを実装するために、OWSM 12c WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。
OWSM 12c Webサービスを構成して、Axis/WSS4Jクライアントとの相互運用性のためのメッセージ保護付きユーザー名トークンを実装できます。
OWSM 12c Webサービスを構成するには、次のようにします。
oracle/wss10_username_token_with_message_protection_service_policy
ポリシーをWebサービスにアタッチします。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。
Webサービスをデプロイします。
Axis/WSS4Jクライアントを構成して、OWSM 12c Webサービスとの相互運用性のためのメッセージ保護付きユーザー名トークンを実装できます。
Axis/WSS4Jクライアントを構成するには、次のようにします。
Webサービス・クライアント・プロキシを構築します。
パスワード・コールバック・クラスPWCallback.java
、およびキーストア・プロパティ・ファイルcrypto.properties
を作成します。
詳細は、Axis/WSS4Jとの相互運用性に必要なファイルの作成を参照してください。
キーストア・ファイル(default-keystore.jks
など)およびcrypto.properties
ファイルをclassesフォルダの直下に配置します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
client_deploy.wsdd
デプロイメント・ディスクリプタを次の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>
この例では、受信者がユーザー名トークンの復号化、確認および検証を行い、送信者がユーザー名トークンの挿入、タイムスタンプの追加、本体、ユーザー名トークンおよびタイムスタンプへの署名、本体とユーザー名トークンの暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、OWSMのデフォルト要件と一致するようにオーバーライドされます。
前の手順で定義したデプロイメント・ディスクリプタを使用するために、クライアント・コード内に次のプロパティを設定します。
System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd");
Webサービス・クライアントをデプロイします。
Axis/WSS4J WebサービスとOWSM 12cクライアントを使用して、WS-Security 1.0標準に準拠したメッセージ保護付きユーザー名トークンを実装できます。
次のトピックでは、メッセージ保護付きユーザー名トークンを実装するために、Axis/WSS4J WebサービスおよびOWSM 12cクライアント・サービスを構成する方法を示します。
Axis/WSS4J Webサービスを構成して、OWSM 12cクライアントとの相互運用性のためのメッセージ保護付きユーザー名トークンを実装できます。
Axis/WSS4J Webサービスを構成するには、次のようにします。
Webサービスを構築します。
Axis/WSS4Jとの相互運用性に必要なファイルの作成の説明に従って、パスワード・コールバック・クラス(PWCallback.java
)とキーストア・プロパティ・ファイル(crypto.properties
)を作成します。
キーストア・ファイル(default-keystore.jks
など)およびcrypto.properties
ファイルをclassesフォルダの直下に配置します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
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>
この例では、受信者がユーザー名トークンの復号化、確認および検証を行い、送信者がユーザー名トークンの挿入、タイムスタンプの追加、本体、ユーザー名トークンおよびタイムスタンプへの署名、本体とユーザー名トークンの暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、OWSMのデフォルト要件と一致するようにオーバーライドされます。
注意:
WSS4Jはヘッダー内の要素の順序を強制します。サンプルに示すように、server_deploy.wsdd
でアクションの順序が更新されていることを確認してください。
Webサービスをデプロイします。
OWSM 12cクライアントを構成して、Axis/WSS4J Webサービスとの相互運用性のためのメッセージ保護付きユーザー名トークンを実装できます。
OWSM 12cクライアントを構成するには、次のようにします。
oracle/wss10_username_token_with_message_protection_client_policy
ポリシーをWebサービスにアタッチします。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。
Java SEクライアントの場合のみ、次のように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, "password"); myPort.setProperty(ClientConstants.WSS_RECIPIENT_KEY_ALIAS,"orakey"); ...
setProperty
の定義は次のとおりです。
public void setProperty(String name, String value) { ((Stub) _port)._setProperty(name, value); }
Webサービス・クライアントをデプロイします。
メッセージ保護付きSAMLトークン・ポリシーは、WS-Security 1.0標準に準拠します。このポリシーは、OWSM 12c WebサービスとAxis/WSS4Jクライアントとの間の相互運用性およびAxis/WSS4J WebサービスとOWSM 12cクライアントとの間の相互運用性を実現するために実装されます。
次のトピックでは、様々な相互運用性シナリオにおいてメッセージ保護付きSAML名トークンを実装する方法について説明します。
OWSM 12c WebサービスとAxis/WSS4Jクライアントを使用して、WS-Security 1.0標準に準拠したメッセージ保護付きSAMLトークンを実装できます。
次のトピックでは、メッセージ保護付きSAMLトークンを実装するために、OWSM 12c WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。
OWSM 12c Webサービスを構成して、Axis/WSS4Jクライアントとの相互運用性のためのSAMLトークンを実装できます。
OWSM 12c Webサービスを構成するには、次のようにします。
oracle/wss10_saml_token_with_message_protection_service_policy
ポリシーをWebサービスにアタッチします。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。
Webサービスをデプロイします。
Axis/WSS4Jクライアントを構成して、OWSM 12c Webサービスとの相互運用性のためのSAMLトークンを実装できます。
Axis/WSS4Jクライアントを構成するには、次のようにします。
Webサービス・クライアント・プロキシを構築します。
Axis/WSS4Jとの相互運用性に必要なファイルの作成の説明に従って、パスワード・コールバック・クラス(PWCallback.java
)、キーストア・プロパティ・ファイル(crypto.properties
)およびsaml.properties
ファイルを作成します。
キーストア・ファイル(default-keystore.jks
など)およびcrypto.properties
ファイルをclassesフォルダの直下に配置します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
client_deploy.wsdd
デプロイメント・ディスクリプタをこの手順の最後にあるサンプルのように編集します。
この例では、受信者がSAMLトークンの復号化、確認および検証を行い、送信者がSAMLトークンの挿入、タイムスタンプの追加、本体、SAMLトークンおよびタイムスタンプへの署名、本体の暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、OWSMのデフォルト要件と一致するようにオーバーライドされます。
前の手順で定義したデプロイメント・ディスクリプタを使用するために、クライアント・コード内に次のプロパティを設定します。
System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd");
Webサービス・クライアントをデプロイします。
次の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>
Axis/WSS4J WebサービスおよびOWSM 12cクライアントを使用して、WS-Security 1.0標準に準拠したメッセージ保護付きSAMLトークンを実装できます。
次のトピックでは、メッセージ保護付きSAMLトークンを実装するために、Axis/WSS4J WebサービスおよびOWSM 12cクライアントを構成する方法を示します。
Axis/WSS4J Webサービスを構成して、OWSM 12cクライアントとの相互運用性のためのメッセージ保護付きSAMLトークンを実装できます。
Axis/WSS4J Webサービスを構成するには、次のようにします。
Webサービスを構築します。
Axis/WSS4Jとの相互運用性に必要なファイルの作成の説明に従って、パスワード・コールバック・クラス(PWCallback.java
)、キーストア・プロパティ・ファイル(crypto.properties
)およびsaml.properties
ファイルを作成します。
キーストア・ファイル(default-keystore.jks
など)およびcrypto.properties
ファイルをclassesフォルダの直下に配置します。
v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。
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>
この例では、受信者がSAMLトークンの復号化、確認および検証を行い、送信者がSAMLトークンの挿入、タイムスタンプの追加、本体、SAMLトークンおよびタイムスタンプへの署名、本体の暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、OWSMのデフォルト要件と一致するようにオーバーライドされます。
注意:
WSS4Jはヘッダー内の要素の順序を強制します。サンプルに示すように、server_deploy.wsdd
でアクションの順序が更新されていることを確認してください。
Webサービスをデプロイします。
OWSM 12cクライアントを構成して、Axis/WSS4J Webサービスとの相互運用性のためのSSL経由のSAMLトークンを実装できます。
OWSM 12cクライアントを構成するには、次のようにします。
oracle/wss10_saml_token_with_message_protection_client_policy
ポリシーをWebサービスにアタッチします。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。
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, "password"); myPort.setProperty(ClientConstants.WSS_RECIPIENT_KEY_ALIAS,"orakey"); ...
setProperty
の定義は次のとおりです。
public void setProperty(String name, String value) { ((Stub) _port)._setProperty(name, value); }
Webサービス・クライアントをデプロイします。
SSL経由のユーザー名トークン・ポリシーは、WS-Security 1.0および1.1標準に準拠します。このポリシーは、OWSM 12c WebサービスとAxis/WSS4Jクライアントとの間の相互運用性およびAxis/WSS4J WebサービスとOWSM 12cクライアントとの間の相互運用性を実現するために実装されます。
次のトピックでは、様々な相互運用性シナリオにおいてSSL経由のユーザー名トークンを実装する方法について説明します。
OWSM 12c WebサービスおよびAxis/WSS4Jクライアント使用してSSL経由のユーザー名トークンを実装できます。
次のトピックでは、OWSM 12c WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。
OWSM 12c Webサービスを構成して、Axis/WSS4Jクライアントとの相互運用性のためのSSL経由のユーザー名トークンを実装できます。
OWSM 12c Webサービスを構成するには、次のようにします。
サーバーをSSL用に構成します。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のトランスポート・レベルのセキュリティ(SSL)の構成に関する説明を参照してください。
oracle/wss_username_token_over_ssl_service_policy
ポリシーをWebサービスにアタッチします。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。
Webサービスをデプロイします。
Axis/WSS4Jクライアントを構成して、OWSM 12c Webサービスとの相互運用性のためのSSL経由のユーザー名トークンを実装できます。
Axis/WSS4Jクライアントを構成するには、次のようにします。
Webサービス・クライアント・プロキシを構築します。
Axis/WSS4Jとの相互運用性に必要なファイルの作成の説明に従って、パスワード・コールバック・クラス(PWCallback.java
)とキーストア・プロパティ・ファイル(crypto.properties
)を作成します。
デプロイメント・ディスクリプタ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>
前の手順で定義したデプロイメント・ディスクリプタを使用するために、クライアント・コード内に次のプロパティを設定します。
System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd");
Webサービス・クライアントをデプロイします。
Axis/WSS4J WebサービスとOWSM 12cクライアントを使用してSSL経由のユーザー名トークンを実装できます。
次のトピックでは、Axis/WSS4J WebサービスとOWSM 12cクライアントを構成する方法を示します。
Axis/WSS4J Webサービスを構成して、OWSM 12cクライアントとの相互運用性のためのSSL経由のユーザー名トークンを実装できます。
Axis/WSS4J Webサービスを構成するには、次のようにします。
サーバーをSSL用に構成します。
Webサービスを構築します。
Axis/WSS4Jとの相互運用性に必要なファイルの作成の説明に従って、パスワード・コールバック・クラスPWCallback.java
およびcrypto.properties
ファイルを作成します。
デプロイメント・ディスクリプタ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>
Webサービスをデプロイします。
OWSM 12cクライアントを構成して、Axis/WSS4J Webサービスとの相互運用性のためのSSL経由のユーザー名トークンを実装できます。
OWSM 12cクライアントを構成するには、次のようにします。
wss_username_token_over_ssl_client_policy
ポリシーをWebサービス・クライアントにアタッチします。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。
JSEクライアントの場合のみ、Webサービス・クライアント・プロパティを次のように構成します。ユーザー名とパスワードは、ユーザー名トークンを生成するためにクライアントが設定する必要があります。
注意:
Java EEクライアントの場合、この手順を行う必要はありません。
myPort.setUsername("wss4j"); myPort.setPassword("security"););
Webサービス・クライアントをデプロイします。
クライアントを実行している場合は、次のクライアント・システム・プロパティを含めます。ここで、default-keystore.jksは、サーバー証明書に対応する証明書が含まれるキーストアを示します。
-Djavax.net.ssl.trustStore=default-keystore.jks
SSL経由のSAMLトークン(送信者保証)ポリシーは、WS-Security 1.0および1.1標準に準拠します。このポリシーは、OWSM 12c WebサービスとAxis/WSS4Jクライアントとの間の相互運用性およびAxis/WSS4J WebサービスとOWSM 12cクライアントとの間の相互運用性を実現するために実装されます。
次のトピックでは、様々な相互運用性シナリオにおいてSSL経由のSAMLトークン(送信者保証)を実装する方法について説明します。
OWSM 12c WebサービスおよびAxis/WSS4Jクライアント使用してSSL経由のSAMLトークン(送信者保証)を実装できます。
次の手順では、SSL経由のSAMLトークン(送信者保証)を実装するために、OWSM 12c WebサービスおよびAxis/WSS4Jクライアントを構成する方法を説明します。
OWSM 12c Webサービスを構成して、Axis/WSS4Jクライアントとの相互運用性のためのSSL経由のSAMLトークン送信者保証を実装できます。
OWSM 12c Webサービスを構成するには、次のようにします。
サーバーをSSL用に構成します。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のトランスポート・レベルのセキュリティ(SSL)の構成に関する説明を参照してください。
wss_saml_token_over_ssl_service_policy
ポリシーをWebサービスにアタッチします。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。
Webサービスをデプロイします。
Axis/WSS4Jクライアントを構成して、OWSM 12c Webサービスとの相互運用性のためのSSL経由のSAMLトークン送信者保証を実装できます。
Axis/WSS4Jクライアントを構成するには、次のようにします。
Webサービス・クライアント・プロキシを構築します。
Axis/WSS4Jとの相互運用性に必要なファイルの作成の説明に従って、パスワード・コールバック・クラス(PWCallback.java
)、キーストア・プロパティ・ファイル(crypto.properties
)およびSAMLプロパティ・ファイル(saml.properties
)を作成します。
デプロイメント・ディスクリプタ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>
前の手順で定義したデプロイメント・ディスクリプタを使用するために、クライアント・コード内に次のプロパティを設定します。
System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd");
Webサービス・クライアントをデプロイします。
Axis/WSS4J WebサービスとOWSM 12cクライアントを使用してSSL経由のSAMLトークン(送信者保証)を実装できます。
次のトピックでは、SSL経由のSAMLトークン(送信者保証)を実装するために、Axis/WSS4J WebサービスおよびOWSM 12cクライアントを構成する方法を示します。
Axis/WSS4J Webサービスを構成して、OWSM 12cクライアントとの相互運用性のためのSSL経由のSAMLトークン送信者保証を実装できます。
Axis/WSS4J Webサービスを構成するには、次のようにします。
サーバーをSSL用に構成します。
Webサービスを構築します。
Axis/WSS4Jとの相互運用性に必要なファイルの作成の説明に従って、パスワード・コールバック・クラスPWCallback.javaおよびcrypto.propertiesファイルを作成します。
デプロイメント・ディスクリプタ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>
Webサービスをデプロイします。
OWSM 12cクライアントを構成して、Axis/WSS4J Webサービスとの相互運用性のためのSSL経由のSAMLトークン送信者保証を実装できます。
OWSM 12cクライアントを構成するには、次のようにします。
wss_saml_token_over_ssl_client_policy
ポリシーをWebサービス・クライアントにアタッチします。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のポリシーのアタッチに関する説明を参照してください。
JSEクライアントの場合は、Webサービス・クライアント・プロパティを次のように構成します。ユーザー名とパスワードは、SAMLアサーションを生成するためにクライアントが設定する必要があります。
myPort.setUsername("wss4j");
注意:
Java EEクライアントの場合、この手順を行う必要はありません。
Webサービス・クライアントをデプロイします。
クライアントを実行している場合は、次のクライアント・システム・プロパティを含めます。ここで、default-keystore.jksは、サーバー証明書に対応する証明書が含まれるキーストアを示します。
-Djavax.net.ssl.trustStore=default-keystore.jks