Oracle® Fusion Middleware Oracle Web Services Manager相互運用性ソリューション・ガイド 12c (12.1.3) E59426-02 |
|
前 |
次 |
この章では、Axis 1.4およびWSS4J 1.5.8のセキュリティ環境とOracle Web Services Manager (OWSM)の相互運用性について説明します。
この章の内容は次のとおりです。
Axis 1.4およびWSS4J 1.5.8では、ハンドラおよびデプロイメント・ディスクリプタを使用してインバウンド・リクエストとアウトバウンド・リクエストのセキュリティ環境を構成します。詳細は、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』
を参照してください。
表8-1 OWSM 12cサービス・ポリシーとAxis WSS4Jクライアント・ポリシーの相互運用性
アイデンティティ・トークン | WS-Securityバージョン | メッセージ保護 | トランスポート・セキュリティ | サービス・ポリシー | クライアント・ポリシー |
---|---|---|---|---|---|
ユーザー名 |
1.0 |
はい |
いいえ |
|
|
SAML |
1.0 |
はい |
いいえ |
|
|
ユーザー名 |
1.0および1.1 |
いいえ |
はい |
|
|
SAML |
1.0および1.1 |
いいえ |
はい |
|
SAMLTokenUnsigned Timestamp |
表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の相互運用性シナリオそれぞれに必要なハンドラおよびプロパティ・ファイルを作成します。
ユーザー名およびキーストア別名に必要なパスワードを解決できるPWCallback.java
というパスワード・コールバック・クラスを作成し、コンパイルします。
以降の各項で定義するデプロイメント・ディスクリプタには、ユーザー名情報は含まれますが、パスワード情報は含まれません。パスワードのような機密的な情報は、デプロイメント・ディスクリプタ内にクリア・テキストで保存しないほうが賢明です。Axisハンドラは、パスワードを取得するためにパスワード・コールバック・クラスをコールします。このメカニズムはJAASと似ています。詳細は、http://ws.apache.org/wss4j
のWSS4Jドキュメントを参照してください。
次に示すように、キーストア・プロパティ・ファイル(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
次に示すような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
この項では、次の相互運用性シナリオにおいて、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装する方法について説明します。
次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装するために、OWSM 12c WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。
表8-3 OWSM 12c Webサービスの構成
タスク | 説明 | 参照先 |
---|---|---|
1 |
|
Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ |
2 |
Webサービスをデプロイします。 |
-- |
表8-4 Axis/WSS4Jクライアントの構成
タスク | 説明 |
---|---|
1 |
Webサービス・クライアント・プロキシを構築します。 |
2 |
パスワード・コールバック・クラス 詳細は、「AxisおよびWSS4Jとの相互運用に必要なファイル」を参照してください。 |
3 |
キーストア・ファイル( v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。 |
4 |
この例では、受信者がユーザー名トークンの復号化、確認および検証を行い、送信者がユーザー名トークンの挿入、タイムスタンプの追加、本体、ユーザー名トークンおよびタイムスタンプへの署名、本体とユーザー名トークンの暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、OWSMのデフォルト要件と一致するようにオーバーライドされます。 |
5 |
前の手順で定義したデプロイメント・ディスクリプタを使用するために、クライアント・コード内に次のプロパティを設定します。 System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd"); |
6 |
Webサービス・クライアントをデプロイします。 |
例8-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>
次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装するために、Axis/WSS4J WebサービスおよびOWSM 12cクライアント・サービスを構成する方法を示します。
表8-5 Axis/WSS4J Webサービスの構成
タスク | 説明 |
---|---|
1 |
Webサービスを構築します。 |
2 |
|
3 |
キーストア・ファイル( v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。 |
4 |
この例では、受信者がユーザー名トークンの復号化、確認および検証を行い、送信者がユーザー名トークンの挿入、タイムスタンプの追加、本体、ユーザー名トークンおよびタイムスタンプへの署名、本体とユーザー名トークンの暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、OWSMのデフォルト要件と一致するようにオーバーライドされます。 注意: WSS4Jはヘッダー内の要素の順序を強制します。例8-2で、アクションの順序が更新されていることを確認してください。 |
5 |
Webサービスをデプロイします。 |
例8-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>
表8-6 OWSM 12cクライアントの構成
タスク | 説明 | 参照先 |
---|---|---|
1 |
|
Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ |
2 |
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, "welcome1"); myPort.setProperty(ClientConstants.WSS_RECIPIENT_KEY_ALIAS,"orakey"); ...
public void setProperty(String name, String value) { ((Stub) _port)._setProperty(name, value); } |
-- |
3 |
Webサービス・クライアントをデプロイします。 |
-- |
この項では、次の相互運用性シナリオにおいて、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークンを実装する方法について説明します。
次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークンを実装するために、OWSM 12c WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。
表8-7 OWSM 12c Webサービスの構成
タスク | 説明 | 参照先 |
---|---|---|
1 |
|
Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ |
2 |
Webサービスをデプロイします。 |
-- |
表8-8 Axis/WSS4Jクライアントの構成
タスク | 説明 |
---|---|
1 |
Webサービス・クライアント・プロキシを構築します。 |
2 |
|
3 |
キーストア・ファイル( v3証明書付きのキーストアを使用していることを確認してください。JDK 1.5キーツールでは、デフォルトでv1証明書付きのキーストアが生成されます。 |
4 |
この例では、受信者がSAMLトークンの復号化、確認および検証を行い、送信者がSAMLトークンの挿入、タイムスタンプの追加、本体、SAMLトークンおよびタイムスタンプへの署名、本体の暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、OWSMのデフォルト要件と一致するようにオーバーライドされます。 |
5 |
前の手順で定義したデプロイメント・ディスクリプタを使用するために、クライアント・コード内に次のプロパティを設定します。 System.setProperty("axis.ClientConfigFile", "client_deploy.wsdd"); |
6 |
Webサービス・クライアントをデプロイします。 |
例8-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>
次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークンを実装するために、Axis/WSS4J WebサービスおよびOWSM 12cクライアントを構成する方法を示します。
表8-9 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デプロイメント・ディスクリプタを例8-4のように編集します。 この例では、受信者がSAMLトークンの復号化、確認および検証を行い、送信者がSAMLトークンの挿入、タイムスタンプの追加、本体、SAMLトークンおよびタイムスタンプへの署名、本体の暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、OWSMのデフォルト要件と一致するようにオーバーライドされます。 注意: WSS4Jはヘッダー内の要素の順序を強制します。 |
5 |
Webサービスをデプロイします。 |
例8-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>
表8-10 OWSM 12cクライアントの構成
タスク | 説明 | 参照先 |
---|---|---|
1 |
|
Oracle Web Services Managerによる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"); ...
public void setProperty(String name, String value) { ((Stub) _port)._setProperty(name, value); } |
-- |
3 |
Webサービス・クライアントをデプロイします。 |
-- |
この項では、次の相互運用性シナリオにおいて、SSL経由のユーザー名トークンを実装する方法について説明します。
次の手順では、SSL経由のユーザー名トークンを実装するために、OWSM 12g WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。
表8-11 OWSM 12c Webサービスの構成
タスク | 説明 | 参照先 |
---|---|---|
1 |
サーバーをSSL用に構成します。 |
『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のトランスポート・レベルのセキュリティ(SSL)の構成に関する項 |
2 |
|
Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ |
3 |
Webサービスをデプロイします。 |
-- |
表8-12 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サービス・クライアントをデプロイします。 |
次の手順では、SSL経由のユーザー名トークンを実装するために、Axis/WSS4J WebサービスおよびOWSM 12cクライアントを構成する方法を示します。
表8-13 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サービスをデプロイします。 |
表8-14 OWSM 12cクライアントの構成
タスク | 説明 | 参照先 |
---|---|---|
1 |
|
Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ |
2 |
JSEクライアントの場合のみ、Webサービス・クライアント・プロパティを次のように構成します。ユーザー名とパスワードは、ユーザー名トークンを生成するためにクライアントが設定する必要があります。 注意: Java EEクライアントの場合、この手順を行う必要はありません。 myPort.setUsername("wss4j"); myPort.setPassword("security");); |
-- |
3 |
Webサービス・クライアントをデプロイします。 クライアントを実行している場合は、次のクライアント・システム・プロパティを含めます。ここで、default-keystore.jksは、サーバー証明書に対応する証明書が含まれるキーストアを示します。
-Djavax.net.ssl.trustStore=default-keystore.jks
|
-- |
この項では、次の相互運用性シナリオにおいて、SSL経由のSAMLトークン(送信者保証)を実装する方法について説明します。
次の手順では、SSL経由のSAMLトークン(送信者保証)を実装するために、OWSM 12c WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。
表8-15 OWSM 12c Webサービスの構成
タスク | 説明 | 参照先 |
---|---|---|
1 |
サーバーをSSL用に構成します。 |
『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のトランスポート・レベルのセキュリティ(SSL)の構成に関する項 |
2 |
|
Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ |
3 |
Webサービスをデプロイします。 |
-- |
表8-16 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サービス・クライアントをデプロイします。 |
次の手順では、SSL経由のSAMLトークン(送信者保証)を実装するために、Axis/WSS4J WebサービスおよびOWSM 12cクライアントを構成する方法を示します。
表8-17 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サービスをデプロイします。 |
表8-18 OWSM 12cクライアントの構成
タスク | 説明 | 参照先 |
---|---|---|
1 |
|
Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ |
2 |
JSEクライアントの場合は、Webサービス・クライアント・プロパティを次のように構成します。ユーザー名とパスワードは、SAMLアサーションを生成するためにクライアントが設定する必要があります。 myPort.setUsername("wss4j"); 注意: Java EEクライアントの場合、この手順を行う必要はありません。 |
-- |
3 |
Webサービス・クライアントをデプロイします。 クライアントを実行している場合は、次のクライアント・システム・プロパティを含めます。ここで、default-keystore.jksは、サーバー証明書に対応する証明書が含まれるキーストアを示します。
-Djavax.net.ssl.trustStore=default-keystore.jks
|
-- |