ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Web Services Manager相互運用性ソリューション・ガイド
12c (12.1.3)
E59426-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

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

この章では、Axis 1.4およびWSS4J 1.5.8のセキュリティ環境とOracle Web Services Manager (OWSM)の相互運用性について説明します。

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

8.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』を参照してください。

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

はい

いいえ

oracle/wss10_username_token_with_message_protection_service_policy

UsernameToken Timestamp Signature Encrypt

SAML

1.0

はい

いいえ

oracle/wss10_saml_token_with_message_protection_service_policy

SAMLTokenUnsigned Timestamp Signature Encrypt

ユーザー名

1.0および1.1

いいえ

はい

oracle/wss_username_token_over_ssl_service_policy

UsernameToken Timestamp

SAML

1.0および1.1

いいえ

はい

oracle/wss_saml_token_over_ssl_service_policy

SAMLTokenUnsigned Timestamp


表8-2 Axis WSS4Jサービス・ポリシーとOWSM 12cクライアント・ポリシーの相互運用性

アイデンティティ・トークン WS-Securityバージョン メッセージ保護 トランスポート・セキュリティ サービス・ポリシー クライアント・ポリシー

ユーザー名

1.0

はい

いいえ

UsernameToken Timestamp Signature Encrypt

oracle/wss10_username_token_with_message_protection_client_policy

SAML

1.0

はい

いいえ

SAMLTokenUnsigned Timestamp Signature Encrypt

oracle/wss10_saml_token_with_message_protection_client_policy

ユーザー名

1.0および1.1

いいえ

はい

Timestamp UsernameToken

oracle/wss_username_token_over_ssl_client_policy

SAML

1.0および1.1

いいえ

はい

Timestamp SAMLTokenUnsigned

oracle/wss_saml_token_over_ssl_client_policy


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

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

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

8.3.1 OWSM 12c WebサービスおよびAxis/WSS4Jクライアントの構成

次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装するために、OWSM 12c WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。

表8-3 OWSM 12c Webサービスの構成

タスク 説明 参照先

1

oracle/wss10_username_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ

2

Webサービスをデプロイします。

--


表8-4 Axis/WSS4Jクライアントの構成

タスク 説明

1

Webサービス・クライアント・プロキシを構築します。

2

パスワード・コールバック・クラスPWCallback.java、およびキーストア・プロパティ・ファイルcrypto.propertiesを作成します。

詳細は、「AxisおよびWSS4Jとの相互運用に必要なファイル」を参照してください。

3

キーストア・ファイル(default-keystore.jksなど)およびcrypto.propertiesファイルをclassesフォルダの直下に配置します。

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

4

client_deploy.wsddデプロイメント・ディスクリプタを例8-1のように編集します。

この例では、受信者がユーザー名トークンの復号化、確認および検証を行い、送信者がユーザー名トークンの挿入、タイムスタンプの追加、本体、ユーザー名トークンおよびタイムスタンプへの署名、本体とユーザー名トークンの暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、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>

8.3.2 Axis/WSS4J WebサービスおよびOWSM 12cクライアントの構成

次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きユーザー名トークンを実装するために、Axis/WSS4J WebサービスおよびOWSM 12cクライアント・サービスを構成する方法を示します。

表8-5 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デプロイメント・ディスクリプタを例8-2のように編集します。

この例では、受信者がユーザー名トークンの復号化、確認および検証を行い、送信者がユーザー名トークンの挿入、タイムスタンプの追加、本体、ユーザー名トークンおよびタイムスタンプへの署名、本体とユーザー名トークンの暗号化を行います。この例に示されているように、暗号化キー・トランスポートは、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/wss10_username_token_with_message_protection_client_policyポリシーをWebサービスにアタッチします。

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");
...

setPropertyの定義は次のとおりです。

public void setProperty(String name, String value) {
   ((Stub) _port)._setProperty(name, value);
}

--

3

Webサービス・クライアントをデプロイします。

--


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

この項では、次の相互運用性シナリオにおいて、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークンを実装する方法について説明します。

8.4.1 OWSM 12c WebサービスおよびAxis/WSS4Jクライアントの構成

次の手順では、WS-Security 1.0標準に準拠するメッセージ保護付きSAMLトークンを実装するために、OWSM 12c WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。

表8-7 OWSM 12c Webサービスの構成

タスク 説明 参照先

1

oracle/wss10_saml_token_with_message_protection_service_policyポリシーをWebサービスにアタッチします。

Oracle Web Services ManagerによるWebサービスの保護およびポリシーの管理のポリシーのアタッチ

2

Webサービスをデプロイします。

--


表8-8 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デプロイメント・ディスクリプタを例8-3のように編集します。

この例では、受信者が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>

8.4.2 Axis/WSS4J WebサービスおよびOWSM 12cクライアントの構成

次の手順では、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はヘッダー内の要素の順序を強制します。例8-4に示すように、server_deploy.wsddでアクションの順序が更新されていることを確認してください。

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/wss10_saml_token_with_message_protection_client_policyポリシーをWebサービスにアタッチします。

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");
...

setPropertyの定義は次のとおりです。

public void setProperty(String name, String value) {
   ((Stub) _port)._setProperty(name, value);
}

--

3

Webサービス・クライアントをデプロイします。

--


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

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

8.5.1 OWSM 12c WebサービスおよびAxis/WSS4Jクライアントの構成

次の手順では、SSL経由のユーザー名トークンを実装するために、OWSM 12g WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。

表8-11 OWSM 12c Webサービスの構成

タスク 説明 参照先

1

サーバーをSSL用に構成します。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のトランスポート・レベルのセキュリティ(SSL)の構成に関する項

2

oracle/wss_username_token_over_ssl_service_policyポリシーをWebサービスにアタッチします。

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サービス・クライアントをデプロイします。


8.5.2 Axis/WSS4J WebサービスおよびOWSM 12cクライアントの構成

次の手順では、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

wss_username_token_over_ssl_client_policyポリシーをWebサービス・クライアントにアタッチします。

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

--


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

この項では、次の相互運用性シナリオにおいて、SSL経由のSAMLトークン(送信者保証)を実装する方法について説明します。

8.6.1 OWSM 12c WebサービスおよびAxis/WSS4Jクライアントの構成

次の手順では、SSL経由のSAMLトークン(送信者保証)を実装するために、OWSM 12c WebサービスおよびAxis/WSS4Jクライアントを構成する方法を示します。

表8-15 OWSM 12c Webサービスの構成

タスク 説明 参照先

1

サーバーをSSL用に構成します。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のトランスポート・レベルのセキュリティ(SSL)の構成に関する項

2

wss_saml_token_over_ssl_service_policyポリシーをWebサービスにアタッチします。

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サービス・クライアントをデプロイします。


8.6.2 Axis/WSS4J WebサービスおよびOWSM 12cクライアントの構成

次の手順では、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

wss_saml_token_over_ssl_client_policyポリシーをWebサービス・クライアントにアタッチします。

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

--