Cosminexus V11 アプリケーションサーバ Webサービスセキュリティ構築ガイド

解説・手引・文法書

3021-3-J24-60

前書き

対象製品

マニュアル「アプリケーションサーバ & BPM/ESB基盤 概説」の前書きの対象製品の説明を参照してください。

輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。

なお、不明な場合は、弊社担当営業にお問い合わせください。

商標類

HITACHI，Cosminexus，uCosminexusは，株式会社 日立製作所の商標または登録商標です。

AIXは，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

Linuxは，Linus Torvalds氏の米国およびその他の国における登録商標です。

Microsoft，Windows，Windows Server は，マイクロソフト 企業グループの商標です。

Oracle(R)，Java ，MySQL及びNetSuite は，Oracle，その子会社及び関連会社の米国及びその他の国における登録商標です。

Red Hat, and Red Hat Enterprise Linux are registered trademarks of Red Hat, Inc. in the United States and other countries. Linux(R) is the registered trademark of Linus Torvalds in the U.S. and other countries.

Red Hat，およびRed Hat Enterprise Linuxは，米国およびその他の国におけるRed Hat, Inc.の登録商標です。Linux(R)は，米国およびその他の国におけるLinus Torvalds氏の登録商標です。

UNIXは，The Open Groupの登録商標です。

その他記載の会社名，製品名などは，それぞれの会社の商標もしくは登録商標です。

This product includes software developed by the Apache Software Foundation (http://www.apache.org/).

発行

2024年 9月 3021-3-J24-60

著作権

All Rights Reserved. Copyright (C) 2020, 2024, Hitachi, Ltd.

変更内容

変更内容(3021-3-J24-60) uCosminexus Application Server 11-50，uCosminexus Client 11-50，uCosminexus Developer 11-50，uCosminexus Service Architect 11-50，uCosminexus Service Platform 11-50

追加・変更内容 | 変更個所
記載内容は変更なし（リンク情報だけを変更した）。 | -

単なる誤字・脱字などはお断りなく訂正しました。

はじめに

このマニュアルをお読みになる際の前提情報については，マニュアル「アプリケーションサーバ & BPM/ESB基盤 概説」のはじめにの説明を参照してください。

1　Webサービスセキュリティの概要

この章では，Webサービスセキュリティとは何か，また，WebサービスセキュリティとSOAP，およびXMLセキュリティとの関係について説明します。また，Application Serverが提供するWebサービスセキュリティ機能についても説明します。

1.1　マニュアルの説明，プレフィクスと名前空間URI

このマニュアルの対象となるWebサービスセキュリティ機能については，アプリケーションサーバを構成する次のプログラムプロダクトで提供されています。

Application Server

Service Platform

Developer

Service Architect

なお，XML署名・暗号処理機能については，マニュアル「XML Security - Core ユーザーズガイド」を参照してください。

このマニュアルで使用している表記について説明します。

文法で使用している記号

このマニュアルで使用している記号を次のように定義します。

記号 | 意味
< > | < >で囲まれた部分は状況に応じて変化する内容であることを示します。

プレフィクスと名前空間URIの対応

このマニュアルで使用するプレフィクスと名前空間URIの対応を次に示します。特に断りがないかぎり，次のプレフィクスを使用します。

プレフィクス | 名前空間URI
ds | http://www.w3.org/2000/09/xmldsig#
soap | http://schemas.xmlsoap.org/wsdl/soap/
soapenv | http://schemas.xmlsoap.org/soap/envelope/
soapenv12 | http://www.w3.org/2003/05/soap-envelope
sp | http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702
wsdl | http://schemas.xmlsoap.org/wsdl/
wsp | http://www.w3.org/ns/ws-policy
wsse | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
wsu | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
xsd | http://www.w3.org/2001/XMLSchema

1.2　Webサービスセキュリティとは

Webサービスセキュリティとは，広義にはWebサービスを安全に実現するためのセキュリティ技術全般を指します。現在，代表的なWebサービスセキュリティは，XML署名およびXML暗号を利用したXMLセキュリティです。また，Webサービスの実現には，SOAPを使用するのが一般的です。この節では，WebサービスセキュリティとSOAP，およびXMLセキュリティとの関係について説明します。

1.2.1　WebサービスセキュリティとSOAPとの関係

Webサービスの多くは，SOAPメッセージを送受信することで実現します。SOAPメッセージはXML形式のデータです。そのため，ネットワークを経由して，そのままSOAPメッセージを送信した場合，データの内容を改ざんされたり，カード番号などの重要な情報を第三者に盗聴されたりしてしまうおそれがあります。このような改ざんや盗聴を防止するための技術がWebサービスセキュリティです。

Web Services - Securityは，Component ContainerのSOAP通信基盤またはJAX-WSエンジンに組み込んで，Webサービスセキュリティに対応したSOAPメッセージを送受信する場合に使用します。

1.2.2　WebサービスセキュリティとXMLセキュリティとの関係

W3Cが規定しているXML署名およびXML暗号の仕様をXMLセキュリティと呼びます。XMLセキュリティを利用すると，SOAPメッセージにXML署名を付与したり，SOAPメッセージを暗号化したりできます。代表的なWebサービスセキュリティは，OASISで規定されているもので，XMLセキュリティを利用した安全なWebサービスを実現します。

Web Services - Securityは，XML署名・暗号処理機能を利用したWebサービスセキュリティ機能を提供します。XML署名・暗号処理機能については，マニュアル「XML Security - Core ユーザーズガイド」を参照してください。

1.3　Application Serverが提供するWebサービスセキュリティ機能

Application Serverでは，Web Services - Securityを利用してWebサービスセキュリティを実現します。Web Services - Securityが提供する機能のうち，SOAPメッセージの完全性や秘匿性などのセキュリティを提供する機能をWebサービスセキュリティ機能と呼びます。

Component ContainerでWebサービスセキュリティ対応のSOAPアプリケーションまたはWebサービスを開発する場合，Web Services - Securityを使用します。SOAPアプリケーションの開発の詳細はマニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」を，Webサービスの開発の詳細はマニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

参考

このマニュアルでは，Application ServerのSOAPアプリケーション開発支援機能を使用して開発したプログラムをSOAPアプリケーション，Application ServerのJAX-WS機能を使用して開発したプログラムをWebサービスと呼びます。ただし，Webサービスという用語については，SOAPアプリケーションも含めたWebサービス全般を指している場合もあります。

1.3.1　SOAPメッセージの完全性を保証する

Webサービスセキュリティ機能は，SOAPメッセージの完全性を保証します。SOAPメッセージが送受信中に改ざんされないよう，SOAPメッセージの完全性を保証するための方法として，署名を利用する方法があります。

Webサービスセキュリティ機能を使用すると，SOAPメッセージに署名を付与できます。SOAPメッセージに署名が付与されている場合，SOAPメッセージを受信したときに署名を検証することによって，SOAPメッセージが送受信中に改ざんされていないかどうかを調べられます。また，SOAPメッセージに証明書が付与されている場合は，Webサービスセキュリティ機能で証明書も検証できます。

1.3.2　SOAPメッセージの秘匿性を保証する

Webサービスセキュリティ機能は，SOAPメッセージの秘匿性を保証します。SOAPメッセージが送受信中に第三者によって盗聴されないよう，SOAPメッセージの秘匿性を保証するための方法として，SOAPメッセージを暗号化する方法があります。

Webサービスセキュリティ機能を使用すると，必要な部分だけを指定してSOAPメッセージを暗号化できます。Webサービスセキュリティ機能では，暗号化にXML暗号を使用します。暗号化することによって，SOAPメッセージの送受信中に第三者にメッセージの内容を盗聴されるおそれがなくなります。

1.3.3　SOAPメッセージの認証をサポート

Webサービスセキュリティ機能は，SOAPメッセージの認証および証明書の検証をサポートしています。SOAPメッセージの送信者を特定する必要がある場合は，ユーザー名やパスワードをSOAPメッセージに含めるように設定できます。

2　開発または実行に必要な製品

この章では，Webサービスセキュリティ機能の前提OSおよび前提プログラムを，開発時と実行時に分けて説明します。また，開発時と実行時のプログラム構成例をそれぞれ紹介します。

2.1　開発に必要な製品

この節では，Web Services - Securityが提供するWebサービスセキュリティ機能を組み込んでSOAPアプリケーションまたはWebサービスを開発する場合の，前提OSおよび前提プログラムについて説明します。また，開発時のプログラム構成例についても説明します。

なお，開発にSOAPアプリケーション開発支援機能を使用した場合は，実行環境にもSOAP通信基盤を利用する必要があります。同様に，開発にApplication ServerのJAX-WS機能を使用した場合は，実行環境ではJAX-WSエンジンを利用する必要があります。

2.1.1　開発時の前提OS

Webサービスセキュリティ機能を組み込んだSOAPアプリケーションまたはWebサービスを開発する場合の前提OSについては，マニュアル「アプリケーションサーバ & BPM/ESB基盤 概説」を参照してください。

2.1.2　開発時の前提プログラム

Webサービスセキュリティ機能を使用してSOAPアプリケーションまたはWebサービスを開発する場合に，必要となる前提プログラムを次の表に示します。前提プログラムのバージョンについては「リリースノート」でご確認ください。

表2‒1　前提プログラム一覧（開発時）

分類 | プログラム名
J2EEサーバ，SOAPアプリケーション開発支援機能またはJAX-WS機能 | Component Container
Java 2 SDK | Developer's Kit for Java
XMLプロセッサ | XML Processor

2.1.3　開発時のプログラム構成例

Webサービスセキュリティ機能を使用してSOAPアプリケーションまたはWebサービスを開発する場合のプログラム構成例を次に示します。

図2‒1　Webサービスセキュリティ機能を組み込む場合のプログラム構成例

[picture]

2.2　実行に必要な製品

この節では，Web Services - Securityが提供するWebサービスセキュリティ機能を使用して開発されたSOAPアプリケーションまたはWebサービスを実行する場合の，前提OSおよび前提プログラムについて説明します。また，実行時のプログラム構成例についても説明します。

なお，SOAP通信基盤で実行できるのは，SOAPアプリケーション開発支援機能で開発したSOAPアプリケーションだけです。同様に，JAX-WSエンジンで実行できるのは，Application ServerのJAX-WS機能で開発されたWebサービスだけです。

2.2.1　実行時の前提OS

Webサービスセキュリティ機能を組み込んだSOAPアプリケーションまたはWebサービスを実行する場合の前提OSについては，マニュアル「アプリケーションサーバ & BPM/ESB基盤 概説」を参照してください。

2.2.2　実行時の前提プログラム

Webサービスセキュリティ機能を使用して開発されたSOAPアプリケーションまたはWebサービスを実行する場合に必要となる前提プログラムを次の表に示します。前提プログラムのバージョンについては「リリースノート」でご確認ください。

表2‒2　前提プログラム一覧（実行時）

分類 | プログラム名

Webサーバ

Windowsの場合：

Component Containerが動作するWebサーバ※

その他のOSの場合：

HTTP Server

J2EEサーバ，SOAP通信基盤またはJAX-WSエンジン | Component Container
Java 2 SDK | Developer's Kit for Java
XMLプロセッサ | XML Processor

注※

Component Containerが動作するWebサーバについての詳細は，マニュアル「アプリケーションサーバ & BPM/ESB基盤 概説」を参照してください。

2.2.3　実行時のプログラム構成例

Webサービスセキュリティ機能を使用して開発されたSOAPアプリケーションまたはWebサービスを実行する場合の，クライアント側とサーバ側のプログラム構成例を次に示します。

図2‒2　Webサービスセキュリティ機能を組み込んだSOAPアプリケーションまたはWebサービスを実行する場合のプログラム構成例

[picture]

3　Webサービスセキュリティ機能を使用する

この章では，開発したSOAPアプリケーションまたはWebサービスに対して，Webサービスセキュリティ機能を使用する手順について説明します。

3.1　定義ファイルの設定

Webサービスセキュリティ機能を使用するためには，次に示す二つの定義ファイルに必要な項目を設定する必要があります。

Webサービスセキュリティ機能定義ファイル（security-config.xml）

Webサービスセキュリティ方針定義ファイル（policy-config.xml）

これらの定義ファイルは，Webサービス（サーバ側）およびWebサービスクライアント（クライアント側）の両方に配置する必要があります。

次に，各定義ファイルの概要を説明します。

3.1.1　Webサービスセキュリティ機能定義ファイル

Webサービスセキュリティ機能定義ファイルは，Webサービスセキュリティ機能の動作を定義するためのファイルです。例えば，SOAPメッセージに署名を付与する場合，署名に用いる証明書を指定します。または，SOAPメッセージを暗号化する場合は，どの暗号化アルゴリズムを用いるのか，などを定義します。

Webサービスセキュリティ機能定義ファイルは，次の要素を持っています。

BindingConfig

Webサービスセキュリティの各機能で共通して使用する情報を設定します。

RequestSenderConfig

リクエストメッセージ送信時のWebサービスセキュリティ機能を設定します。

ResponseSenderConfig

レスポンスメッセージ送信時のWebサービスセキュリティ機能を設定します。

RequestReceiverConfig

リクエストメッセージ受信時のWebサービスセキュリティ機能を設定します。

ResponseReceiverConfig

レスポンスメッセージ受信時のWebサービスセキュリティ機能を設定します。

クライアントとサーバでは，必要な要素が異なります。

Webサービスセキュリティ機能を使用するために，クライアントおよびサーバで設定する必要がある要素を次の表に示します。

表3‒1　設定が必要な要素（Webサービスセキュリティ機能定義ファイル）

要素名 | クライアント | サーバ
BindingConfig | ○ | ○
RequestSenderConfig | ○ | ×
ResponseSenderConfig | × | ○
RequestReceiverConfig | × | ○
ResponseReceiverConfig | ○ | ×

（凡例）

○：必要

×：不要

Webサービスセキュリティ機能定義ファイルの項目については，「付録B.1　Webサービスセキュリティ機能定義ファイルの項目」を参照してください。

3.1.2　Webサービスセキュリティ方針定義ファイル

Webサービスセキュリティ方針定義ファイルは，受信したSOAPメッセージを検証するときの方針を定義するためのファイルです。Webサービスセキュリティ機能では，この方針定義ファイルを基に，SOAPメッセージが受信側の意図したものかどうかを検証します。

Webサービスセキュリティ方針定義ファイルは，次の要素を持っています。

GlobalConfig

Webサービスセキュリティ機能の方針定義で共通して使用する項目を設定します。

RequestReceiverConfig

リクエストメッセージ受信時の方針を設定します。

ResponseReceiverConfig

レスポンスメッセージ受信時の方針を設定します。

クライアントとサーバでは，必要な要素が異なります。

Webサービスセキュリティ機能を使用するために，クライアントおよびサーバで設定する必要がある要素を次の表に示します。

表3‒2　設定が必要な要素（Webサービスセキュリティ方針定義ファイル）

要素名 | クライアント | サーバ
GlobalConfig | ○ | ○
RequestReceiverConfig | × | ○
ResponseReceiverConfig | ○ | ×

（凡例）

○：必要

×：不要

Webサービスセキュリティ方針定義ファイルの項目については，「付録B.2　Webサービスセキュリティ方針定義ファイルの項目」を参照してください。

3.1.3　定義ファイルの組み込み先と優先度

Webサービスセキュリティ機能定義ファイル，およびWebサービスセキュリティ方針定義ファイルは，次のどれかに組み込みます。

J2EEサーバ用オプション定義ファイルのadd.class.pathキーに指定したディレクトリの下

参照ライブラリ

WARファイルのWEB-INF/classesの下

ただし，J2EEサーバ用オプション定義ファイルのadd.class.pathキーに指定したディレクトリに定義ファイルを配置する場合，J2EEサーバにデプロイされたWebサービスセキュリティ機能を利用するすべてのアプリケーションが同じ設定で動作するので注意してください。J2EEサーバ用オプション定義ファイルについては，マニュアル「アプリケーションサーバリファレンス 定義編(サーバ定義)」の「2.2.2　usrconf.cfg（J2EEサーバ用オプション定義ファイル）」を参照してください。

定義ファイルの優先順位は次のとおりです。

J2EEサーバ用オプション定義ファイルのadd.class.pathキーに指定したディレクトリ

参照ライブラリ（EJBアプリケーションの場合）

WEB-INF/classes

複数の配置先に定義ファイルを組み込んだ場合，優先順位の高い定義ファイルが適用されます。

3.2　署名付与／検証機能を設定する

署名付与／検証機能は，送信するメッセージに対して，XML署名を付与したり，受信するSOAPメッセージに付与されているXML署名を検証したりする機能です。署名付与機能は，メッセージ送信時に，署名検証機能はメッセージ受信時に使用します。

署名付与／検証機能を使用する場合のプログラムの構成を次の図に示します。矢印およびその番号は，送受信するデータの処理の流れを示しています。

図3‒1　Webサービスセキュリティ機能使用時のプログラム構成（署名付与／検証）

[picture]

署名付与／検証機能を使用する際の，Webサービスセキュリティ機能定義ファイルの設定項目を次に示します。

＜送信側＞
SecurityConfig
├─ BindingConfig
└┬ RequestSenderConfig/ResponseSenderConfig
　└┬ SenderPortConfig
　　└┬ RoleConfig
　　　├─ BinarySecurityTokenConfig
　　　└─ SignatureConfig
＜受信側＞
SecurityConfig
├─ BindingConfig
└┬ RequestReceiverConfig/ResponseReceiverConfig
　└┬ ReceiverPortConfig
　　└─ VerificationConfig

署名付与／検証機能を使用する際の，Webサービスセキュリティ方針定義ファイルの設定項目を次に示します。

PolicyConfig
└┬ RequestReceiverConfig/ResponseReceiverConfig
　└┬ ReceiverPortConfig
　　├┬ SecurityTokenConfig
　　│└─ BinarySecurityTokenConfig
　　└─ VerificationConfig

設定する要素の詳細については，「付録B　定義ファイルの項目の詳細」を参照してください。

Windowsの場合，定義ファイルのサンプルは次のディレクトリに格納されていますので，これらを参考に定義ファイルを作成してください。なお，作成した定義ファイルの格納場所については，「3.9　Webサービスセキュリティ機能の実装手順（SOAPアプリケーション開発支援機能を使用する場合）」を参照してください。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

signature/message/client/WEB-INF/classes
signature/message/service/WEB-INF/classes
signature/rpc/client/WEB-INF/classes
signature/rpc/service/WEB-INF/classes

また，Windowsの場合，コーディングのサンプルは，次のディレクトリに格納されていますので，参考にしてください。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

signature/KeyStore
signature/message/client/WEB-INF/classes/messagesampleclient
signature/message/service/WEB-INF/classes/messagesampleservice
signature/rpc/client/WEB-INF/classes/localhost
signature/rpc/service/WEB-INF/classes/localhost

署名付与の設定情報について

署名付与に必要な情報は，Webサービスセキュリティ機能定義ファイルに指定された設定情報から取得します。

署名に用いる秘密鍵は，環境設定ファイルで指定したキーストアファイルを使用します。環境設定ファイルの詳細については，「3.8.2　環境設定ファイルの設定項目」を参照してください。

署名に関する仕様のサポート範囲については，「付録A.2　XML署名標準仕様のサポート範囲」を参照してください。

署名検証の設定情報について

署名検証に必要な情報は，Webサービスセキュリティ機能定義ファイル，およびWebサービスセキュリティ方針定義ファイルに指定された設定情報から取得します。

証明書検証に用いる証明書は，環境設定ファイルで指定した証明書ファイルを使用します。環境設定ファイルの詳細については，「3.8.2　環境設定ファイルの設定項目」を参照してください。

注意事項

署名付与／検証で使用するキーストアファイルは，読み取り権限を限定するなど，第三者に読み取られないようにご注意ください。

3.2.1　署名を付与する個所をパート名で指定する

署名を付与する個所をパート名という名称で指定します。Web Services - Securityで，署名を付与する際に指定できるパート名は，"Body"だけです。"Body"を指定した場合，SOAPメッセージのBody要素そのものを意味します。

署名個所をパート名で指定する際の，Webサービスセキュリティ機能定義ファイルの設定項目を次に示します。

SecurityConfig
└┬ RequestSenderConfig/ResponseSenderConfig
　└┬ SenderPortConfig
　　└┬ RoleConfig
　　　└┬ SignatureConfig
　　　　└─ SignatureTarget

署名個所をパート名で指定する際の，Webサービスセキュリティ方針定義ファイルの設定項目を次に示します。

PolicyConfig
└┬ RequestReceiverConfig/ResponseReceiverConfig
　└┬ ReceiverPortConfig
　　└┬ VerificationConfig
　　　└─ SignatureTarget

設定する要素の詳細については，「付録B　定義ファイルの項目の詳細」を参照してください。

3.2.2　署名を付与する個所をID属性で指定する

署名を付与する個所を，ID属性で指定し，そのID値が含まれる要素に対して署名します。なお，受信側ではID属性を検証できません。

署名個所をIDで指定する際の，Webサービスセキュリティ機能定義ファイルの設定項目を次に示します。

SecurityConfig
└┬ RequestSenderConfig/ResponseSenderConfig
　└┬ SenderPortConfig
　　└┬ RoleConfig
　　　└┬ SignatureConfig
　　　　└─ SignatureTarget

設定する要素の詳細については，「付録B　定義ファイルの項目の詳細」を参照してください。

3.3　暗号化／復号化機能を設定する

暗号化／復号化機能は，送受信するメッセージを，暗号化／復号化する機能です。暗号化機能はメッセージの送信時に，復号化機能はメッセージ受信時に使用します。

暗号化／復号化機能を使用する場合のプログラムの構成を次の図に示します。矢印およびその番号は，送受信するデータの処理の流れを示しています。

図3‒2　Webサービスセキュリティ機能使用時のプログラム構成（暗号化／復号化）

[picture]

暗号化／復号化機能を使用する際の，Webサービスセキュリティ機能定義ファイルの設定項目を次に示します。

＜送信側＞
SecurityConfig
├─ BindingConfig
└┬ RequestSenderConfig/ResponseSenderConfig
　└┬ SenderPortConfig
　　└┬ RoleConfig
　　　└─ EncryptionConfig
＜受信側＞
SecurityConfig
├─ BindingConfig
└┬ RequestReceiverConfig/ResponseReceiverConfig
　└┬ ReceiverPortConfig
　　└─ DecryptionConfig

暗号化／復号化機能を使用する際の，Webサービスセキュリティ方針定義ファイルの設定項目を次に示します。

PolicyConfig
└┬ RequestReceiverConfig/ResponseReceiverConfig
　└┬ ReceiverPortConfig
　　└─ DecryptionPolicyConfig

設定する要素の詳細については，「付録B　定義ファイルの項目の詳細」を参照してください。

Windowsの場合，定義ファイルのサンプルは，次のディレクトリに格納されていますので，これらを参考に定義ファイルを作成してください。なお，作成した定義ファイルの格納場所については，「3.9　Webサービスセキュリティ機能の実装手順（SOAPアプリケーション開発支援機能を使用する場合）」を参照してください。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

encryption/message/client/WEB-INF/classes
encryption/message/service/WEB-INF/classes
encryption/rpc/client/WEB-INF/classes
encryption/rpc/service/WEB-INF/classes

また，Windowsの場合，コーディングのサンプルは，次のディレクトリに格納されていますので，参考にしてください。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

encryption/SecretKey
encryption/message/client/WEB-INF/classes/messagesampleclient
encryption/message/service/WEB-INF/classes/messagesampleservice
encryption/rpc/client/WEB-INF/classes/localhost
encryption/rpc/service/WEB-INF/classes/localhost

暗号化の設定情報について

暗号化に必要な情報は，Webサービスセキュリティ機能定義ファイルに指定された設定情報から取得します。

暗号化に関する仕様のサポート範囲については，「付録A.3　XML暗号標準仕様のサポート範囲」を参照してください。

復号化の設定情報について

復号化に必要な情報は，Webサービスセキュリティ機能定義ファイル，およびWebサービスセキュリティ方針定義ファイル指定された設定情報から取得します。

暗号化／復号化に用いる共通鍵は，環境設定ファイルで指定した共通鍵ファイルを使用します。環境設定ファイルの詳細については，「3.8.2　環境設定ファイルの設定項目」を参照してください。

注意事項

暗号化／復号化で使用する鍵ファイルは，読み取り権限を限定するなど，第三者に読み取られないようにご注意ください。

3.3.1　暗号化する個所をパート名で指定する

暗号化する個所をパート名という名称で指定します。Web Services - Securityで，暗号化する際に指定できるパート名は，"BodyContent"だけです。"BodyContent"を指定した場合，SOAPメッセージのBody要素に含まれる子要素，テキストなどをすべて指定することを意味します。

暗号個所をパート名で指定する際の，Webサービスセキュリティ機能定義ファイルの設定項目を次に示します。

SecurityConfig
└┬ RequestSenderConfig/ResponseSenderConfig
　└┬ SenderPortConfig
　　└┬ RoleConfig
　　　└┬ EncryptionConfig
　　　　└┬ ContentsEncryption
　　　　　└─ EncryptionTarget

暗号個所をパート名で指定する際の，Webサービスセキュリティ方針定義ファイルの設定項目を次に示します。

PolicyConfig
└┬ RequestReceiverConfig/ResponseReceiverConfig
　└┬ ReceiverPortConfig
　　└┬ DecryptionPolicyConfig
　　　└─ DecryptionTarget

設定する要素の詳細については，「付録B　定義ファイルの項目の詳細」を参照してください。

3.3.2　暗号化する個所をID属性で指定する

暗号化する個所を，ID属性で指定し，そのID値が含まれる要素に対して暗号化します。なお，受信側ではID属性を検証できません。

暗号個所をIDで指定する際の，Webサービスセキュリティ機能定義ファイルの設定項目を次に示します。

SecurityConfig
└┬ RequestSenderConfig/ResponseSenderConfig
　└┬ SenderPortConfig
　　└┬ RoleConfig
　　　└┬ EncryptionConfig
　　　　└┬ ContentsEncryption
　　　　　└─ EncryptionTarget

設定する要素の詳細については，「付録B　定義ファイルの項目の詳細」を参照してください。

3.4　認証機能を設定する

セキュリティトークンを通信先に受け渡すことで，認証を実現します。

Web Services - Securityでは，JAASを使用した認証方式をサポートします。

認証機能を使用する際の，Webサービスセキュリティ機能定義ファイルの設定項目を次に示します。

＜送信側＞
SecurityConfig
├─ BindingConfig
└┬ RequestSenderConfig/ResponseSenderConfig
　└┬ SenderPortConfig
　　└┬ RoleConfig
　　　└─ UsernameTokenConfig
＜受信側＞
SecurityConfig
├─ BindingConfig
└┬ RequestReceiverConfig/ResponseReceiverConfig
　└┬ ReceiverPortConfig
　　└─ AuthenticationConfig

認証機能を使用する際の，Webサービスセキュリティ方針定義ファイルの設定項目を次に示します。

PolicyConfig
├─ GlobalConfig
└┬ RequestReceiverConfig/ResponseReceiverConfig
　└┬ ReceiverPortConfig
　　└┬ SecurityTokenConfig
　　　└─ UsernameTokenConfig

設定する要素の詳細については，「付録B　定義ファイルの項目の詳細」を参照してください。

Windowsの場合，定義ファイルのサンプルは，次のディレクトリに格納されていますので，これらを参考に定義ファイルを作成してください。なお，作成した定義ファイルの格納場所については，「3.9　Webサービスセキュリティ機能の実装手順（SOAPアプリケーション開発支援機能を使用する場合）」を参照してください。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

usernameToken/rpc/client/WEB-INF/classes
usernameToken/rpc/service/WEB-INF/classes

また，Windowsの場合，コーディングのサンプルは，次のディレクトリに格納されていますので，参考にしてください。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

usernameToken/rpc/Auth
usernameToken/rpc/client/WEB-INF/classes/localhost
usernameToken/rpc/service/WEB-INF/classes/localhost

認証の設定情報について

認証に必要な情報は，Webサービスセキュリティ機能定義ファイルに指定された設定情報から取得します。ただし，一部の情報はWebサービスセキュリティ機能が提供するAPIを使用して指定できます。APIについては，「5.　Webサービスセキュリティ機能が提供するAPI」を参照してください。

認証のSOAPメッセージ形式について

Webサービスセキュリティ機能が生成するSOAPメッセージ内のUsernameToken要素のNonce要素とCreated要素は，パスワードのタイプがダイジェスト形式の場合に付与されます。パスワードタイプがテキスト形式の場合はこれらの要素は付与されません。

パスワードのタイプがダイジェスト形式のSOAPメッセージでダイジェストを求めたい場合は，コーディングのサンプルのソースコード（UsernameLoginModule.java）のloginメソッドの実装を参考にしてください。

認証に関する方針チェックについて

Webサービスセキュリティ方針定義ファイルに指定された設定情報を基に，受信したSOAPメッセージが決められた方針に従っているかどうかをチェックします。

注意事項

認証で，パスワードの記述されたファイルなどを使用する場合は，読み取り権限を限定するなど，第三者に読み取られないようにご注意ください。

3.5　メッセージに有効期限を設定する

Web Services - Securityでは，SOAPメッセージの送信時にタイムスタンプや有効期限を設定したり，受信側で古いメッセージや有効期限を経過したメッセージの受信を拒否したりする機能を提供します。

メッセージに有効期限を設定する際の，Webサービスセキュリティ機能定義ファイルの設定項目を次に示します。

SecurityConfig
└┬ RequestSenderConfig/ResponseSenderConfig
　└┬ SenderPortConfig
　　└┬ RoleConfig
　　　└┬ TimestampConfig
　　　　└─ Expires

メッセージに付与されているタイムスタンプや有効期限を検証する際の，Webサービスセキュリティ方針定義ファイルの設定項目を次に示します。

PolicyConfig
├─ GlobalConfig
└┬ RequestReceiverConfig/ResponseReceiverConfig
　└┬ ReceiverPortConfig
　　└┬ TimestampConfig
　　　└┬ Created
　　　　└ Expires

設定する要素の詳細については，「付録B　定義ファイルの項目の詳細」を参照してください。

Windowsの場合，定義ファイルのサンプルは，次のディレクトリに格納されていますので，これらを参考に定義ファイルを作成してください。なお，作成した定義ファイルの格納場所については，「3.9　Webサービスセキュリティ機能の実装手順（SOAPアプリケーション開発支援機能を使用する場合）」を参照してください。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

timeStamp/rpc/client/WEB-INF/classes
timeStamp/rpc/service/WEB-INF/classes

また，Windowsの場合，コーディングのサンプルは，次のディレクトリに格納されていますので，参考にしてください。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

timeStamp/rpc/client/WEB-INF/classes/localhost
timeStamp/rpc/service/WEB-INF/classes/localhost

3.6　定義ファイルの構文をチェックする

Webサービスセキュリティ機能定義ファイル，およびWebサービスセキュリティ方針定義ファイルを設定したあと，定義ファイルの記述内容が正しいかどうかをチェックするために，構文チェック用のコマンドを使用します。

構文チェック用のコマンドの使い方については，「4.1.2　定義ファイル構文チェックコマンド（CWSSConfCheck）」を参照してください。

注意事項

定義ファイル構文チェックコマンドは，Windowsで使用してください。その他のOSでは使用できません。

3.7　定義ファイルに関する注意事項

Webサービスセキュリティ機能定義ファイル，およびWebサービスセキュリティ方針定義ファイルを設定する上での注意事項について説明します。

3.7.1　 Timestamp要素を使用する場合

Webサービスセキュリティ機能定義ファイルのCreated要素，Expires要素を共に省略した場合は，Timestamp要素自体が作成されません。

SOAPメッセージを送信するマシンと受信するマシンに設定されている時刻は，一致していないおそれがあります。Created要素に設定されている値を基にそのメッセージを古いと見なしたり，Expires要素に設定されている値を基にそのメッセージを有効期限切れと見なしたりする際，許容範囲を設定できます。

マシン間の設定時刻の差に関する許容範囲を設定する際の，Webサービスセキュリティ方針定義ファイルの設定項目を次に示します。

PolicyConfig
└┬ GlobalConfig
　├─ Max-Clock-Skew
　└─ Fresh-Time-Limit

詳細については，「付録B.2　Webサービスセキュリティ方針定義ファイルの項目」を参照してください。

3.7.2　 Webサービスセキュリティ機能定義ファイルの運用について

Webサービスセキュリティ機能定義ファイルは，第三者によって改ざんされないようにアクセス権の設定をしてください。

3.7.3　Webサービスセキュリティ方針定義ファイルの運用について

Webサービスセキュリティ方針定義ファイルは，第三者によって改ざんされないようにアクセス権の設定をしてください。

Webサービスセキュリティ方針定義ファイルをSOAPサービスまたはWebサービスの利用者に配布する場合，ファイルが改ざんされないよう対策してください。

Webサービスセキュリティ方針定義ファイルは，安全な方法でSOAPサービスまたはWebサービスの利用者に配布してください。

SOAPサービスまたはWebサービスの利用者は，Webサービスセキュリティ方針定義ファイルの内容に従って，Webサービスセキュリティ機能定義ファイルを作成する必要があります。

3.7.4　セキュリティ機能を組み合わせて使用する場合

署名付与／検証機能，暗号化／復号化機能，認証機能，およびメッセージに有効期限を設定する機能は，組み合わせて使用できます。複数の機能を組み合わせて使用する場合は，Webサービスセキュリティ機能定義ファイルのRoleConfig要素内に，それぞれの設定項目を併記してください。

次に，設定の順番についての注意事項を示します。

送信側のWebサービスセキュリティ機能定義ファイルに設定した機能は，設定した順番で処理されます。各機能に対応するセキュリティ要素がSOAPメッセージのセキュリティヘッダに出現しますが，その順番は，Webサービスセキュリティ機能定義ファイルで設定した順番とは逆順になります。

Webサービスセキュリティ機能が提供するAPIを使用してUsernameTokenを付与した場合，対応するセキュリティ要素はSOAPメッセージのセキュリティヘッダのいちばん下に出現します。

なお，受信側のWebサービスセキュリティ機能定義ファイルと，Webサービスセキュリティ方針定義ファイルに設定する順番は，特に意識する必要はありません。

3.8　実行環境に合わせて設定を変更する

Webサービスセキュリティ機能定義ファイルおよびWebサービスセキュリティ方針定義ファイルに記述する内容で，実行環境に依存する部分は，環境設定ファイルで設定します。

環境設定ファイルは，次のディレクトリに格納されています。ファイル名は，「cwsscfg.properties」で固定です。

＜Application Serverのインストールディレクトリ＞/wss/conf の下

次に，環境設定ファイルの記述規則と設定項目について説明します。

3.8.1　環境設定ファイルの記述規則

環境設定ファイルは，J2SEのプロパティ形式に従い，「キー名称=値」の形式で記述します。次に，環境設定ファイルの記述規則について示します。

１行の終わりは必ず改行されていなければなりません。

「#」で始まる行はコメントとみなされます。

値が存在しない行を設定した場合，空文字として処理されます。

キー名称と=の間，および=と値の間にスペースを入れてはいけません。

値に2バイト文字を使用する場合は，文字コードをUTF-8にしなければなりません。

設定できるキー名称以外のキー名称を設定した場合，その行は無視されます。

キー名称の大文字と小文字は区別されます。

値には半角スペースも設定できます。

例

cwss.binding.KeyLocator.KeyStoreDir=d:/Program Files/HITACHI/Cosminexus/wss/KeyStore

3.8.2　環境設定ファイルの設定項目

環境設定ファイルで設定できるキーおよび値を次の表に示します。

表3‒3　環境設定ファイルの設定項目

キー名称 | 指定値 | 説明 | デフォルト値 （値省略時または範囲外）
cwss.binding.KeyLocator.KeyStoreDir | 任意のディレクトリ名 | 署名付与／検証で使用するキーストアファイルを格納するディレクトリ名を指定します。 | ＜Application Serverのインストールディレクトリ＞/wss/KeyStore
cwss.binding.KeyLocator.CertificateDir | 任意のディレクトリ名 | 証明書検証で使用する証明書ファイルを格納するディレクトリ名を指定します。 | ＜Application Serverのインストールディレクトリ＞/wss/Cert
cwss.policy.usernameToken.maxNonceCount | 1〜100,000 | 受信済みNonce値を保存する最大個数を指定します。 | 100,000
cwss.policy.usernameToken.maxNonceAge | 1,000〜86,400,000（最大24時間） | 受信済みNonce値の最大保存時間を現在時刻からの相対ミリ秒で指定します。 | 300,000（5分）
cwss.binding.KeyLocator.SecretKeyDir | 任意のディレクトリ名 | 暗号化／復号化で使用する共通鍵ファイルを格納するディレクトリ名を指定します。 | ＜Application Serverのインストールディレクトリ＞/wss/SecretKey
cwss.engine.receive.unsecured.message | true またはfalse | 受信側でWebサービスセキュリティ方針定義ファイルの設定をしている場合，受信メッセージにSOAPメッセージのSecurity要素を含まなかったときの動作を指定します。※ | false

注※

受信側でWebサービスセキュリティ方針定義ファイルの設定をしている場合で，falseを設定した場合，エラーメッセージKDCGF0003-Eが出力されます。trueを設定した場合，Webサービスセキュリティ機能定義ファイルおよびWebサービスセキュリティ方針定義ファイルの設定内容に関係なく，エラーにはなりません。

3.9　Webサービスセキュリティ機能の実装手順（SOAPアプリケーション開発支援機能を使用する場合）

ここでは，実行環境に必要な定義ファイルやユーザー作成のプログラムを実装し，SOAPアプリケーション開発支援機能を使用して開発したSOAPアプリケーションでWebサービスセキュリティ機能を使用する手順を説明します。

SOAPアプリケーション開発支援機能を利用したSOAPアプリケーションの開発の流れは次のとおりです。

（a）サービスの設計

（b）WSDLの作成

（c）サーバスケルトンの作成

（d）サーバ実装

（e）WARファイルの作成

（f）サービスの開始

（g）クライアントスタブの生成

（h）クライアントの実装

SOAPアプリケーション開発の詳細については，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」を参照してください。

前に示したSOAPアプリケーション開発の流れ（以降，「開発ステップ」と呼びます）を基本とし，Webサービスセキュリティ機能を使用する上で必要なステップを説明します。

3.9.1　サーバ側の実装手順

Webサービスセキュリティ機能をサーバ側に実装する手順について説明します。

(1)　デプロイ定義ファイルにセキュリティ情報を付加する

SOAPアプリケーションの形態が，RPCまたはEJBの場合

開発ステップ「（c）サーバスケルトンの作成」で，Webサービスセキュリティ機能に関する情報※を，サーバ側WARファイルのWEB-INFの下のデプロイ定義ファイルに手動で追加します。

SOAPアプリケーションの形態が，既存Javaクラスを利用，またはメッセージングの場合

開発ステップ「（e）WARファイルの作成」で，Webサービスセキュリティ機能に関する情報※をサーバ側WARファイルのWEB-INFの下のデプロイ定義ファイルに手動で追加します。

注※

「Webサービスセキュリティ機能に関する情報」を次に示します。

<handler name="WSSResponseSenderHandler" type="java:com.cosminexus.wss.handlers.WSSResponseSenderHandler"/>
<handler name="WSSRequestReceiverHandler" type="java:com.cosminexus.wss.handlers.WSSRequestReceiverHandler"/>

<requestFlow>
 <handler type="WSSRequestReceiverHandler"/>
</requestFlow>
<responseFlow>
 <handler type="WSSResponseSenderHandler"/>
</responseFlow>

Windowsの場合，サーバ側のデプロイ定義ファイル（server-config.xml）のサンプルは，サンプルディレクトリの下の，機能ごとのサービスに格納されていますので，参考にしてください。次に，格納先の一例を示します。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

usernameToken/rpc/service/WEB-INF

(2)　ユーザー作成のプログラムを実装する

Webサービスセキュリティ機能が提供するAPIを利用する場合は，開発ステップ「（d）サーバ実装」で，ユーザー作成のプログラムを実装します。詳細については，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」を参照してください。

(3)　WARファイルを作成する

開発ステップ「（e）WARファイルの作成」で，Webサービスセキュリティ機能が提供するWebサービスセキュリティ機能定義ファイル，およびWebサービスセキュリティ方針定義ファイルをサーバ側WARファイルのWEB-INF/classesの下に組み込みます。Webサービスセキュリティ機能定義ファイルとWebサービスセキュリティ方針定義ファイルについては，構文チェック用のコマンドを使用して，構文に誤りがないことを事前に確認してください。構文チェック用のコマンドの使い方については，「4.1.2　定義ファイル構文チェックコマンド（CWSSConfCheck）」を参照してください。

WARファイルへの組み込み方法については，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」を参照してください。

サーバ側の実装に関するファイルの配置は，各アプリケーションごと（WARファイルごと）に次のようになります。

WEB-INF
├server-config.xml      デプロイ定義ファイル
└classes
  ├security-config.xml  Webサービスセキュリティ機能定義ファイル
  └policy-config.xml    Webサービスセキュリティ方針定義ファイル

3.9.2　クライアント側がWebアプリケーションの場合の実装手順

Webサービスセキュリティ機能をクライアント側のWebアプリケーションに実装する手順について説明します。

(1)　デプロイ定義ファイルを組み込む

開発ステップ「（g）クライアントスタブの生成」で，Webサービスセキュリティ機能が提供するクライアント用のデプロイ定義ファイル（client-config.xml）を，クライアント側WARファイルのWEB-INF/classesの下に組み込みます。Windowsの場合，Webサービスセキュリティ機能が提供するクライアント用のデプロイ定義ファイルは，サンプルディレクトリの下の，機能ごとのクライアントに格納されています。どのクライアント用のデプロイ定義ファイルも内容は同じです。次に，格納先の一例を示します。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

usernameToken/rpc/client/WEB-INF/classes

(2)　ユーザー作成のプログラムを実装する

Webサービスセキュリティ機能が提供するAPIを利用する場合は，開発ステップ「（h）クライアントの実装」で，ユーザー作成のプログラムを実装します。詳細については，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」を参照してください。

(3)　WARファイルを作成する

サンプルファイルを基に作成したWebサービスセキュリティ機能定義ファイル，およびWebサービスセキュリティ方針定義ファイルをクライアント側WARファイルのWEB-INF/classesの下に組み込みます。Webサービスセキュリティ機能定義ファイルとWebサービスセキュリティ方針定義ファイルについては，構文チェック用のコマンドを使用して，構文に誤りがないことを事前に確認してください。構文チェック用のコマンドの使い方については，「4.1.2　定義ファイル構文チェックコマンド（CWSSConfCheck）」を参照してください。

WARファイルへの組み込み方法については，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」を参照してください。

クライアント側の実装に関するファイルの配置は，各アプリケーションごと（WARファイルごと）に次のようになります。

WEB-INF
└classes
  ├client-config.xml    デプロイ定義ファイル
  ├security-config.xml  Webサービスセキュリティ機能定義ファイル
  └policy-config.xml    Webサービスセキュリティ方針定義ファイル

3.9.3　クライアント側がコマンドラインJavaアプリケーションの場合の実装手順

サンプルファイルを基に作成したWebサービスセキュリティ機能定義ファイル，Webサービスセキュリティ方針定義ファイル，およびデプロイ定義ファイルを，クライアント実行環境のCLASSPATHに設定したディレクトリの下に格納します。なお，Webサービスセキュリティ機能定義ファイルとWebサービスセキュリティ方針定義ファイルについては，構文チェック用のコマンドを使用して，構文に誤りがないことを事前に確認してください。構文チェック用のコマンドの使い方については，「4.1.2　定義ファイル構文チェックコマンド（CWSSConfCheck）」を参照してください。

さらに，cjclstartapコマンドを使用して，Webサービスセキュリティ機能を適用したクライアントを実行する場合，Javaアプリケーション用オプション定義ファイルに次の値を設定したキーを追加する必要があります。

add.class.path=<Application Serverのインストールディレクトリ>¥wss¥lib¥cwssec.jar

add.class.path=<Application Serverのインストールディレクトリ>¥XMLSEC¥lib¥csmxsec.jar

Javaアプリケーション用オプション定義ファイルについては，マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。また，コマンドライン利用時の設定については，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」を参照してください。

3.9.4　クライアント側がEJBアプリケーションの場合の実装手順

Webサービスセキュリティ機能をクライアント側のEJBアプリケーションに実装する手順について説明します。

(1)　デプロイ定義ファイルを組み込む

開発ステップ「（g）クライアントスタブの生成」で，Webサービスセキュリティ機能が提供するクライアント用のデプロイ定義ファイル（client-config.xml）を，クライアント側EJB-JARファイルのルートディレクトリの下に組み込みます。Windowsの場合，Webサービスセキュリティ機能が提供するクライアント用のデプロイ定義ファイルは，サンプルディレクトリの下の，機能ごとのクライアントに格納されています。どのクライアント用のデプロイ定義ファイルも内容は同じです。

次に，格納先の一例を示します。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

usernameToken/rpc/client/WEB-INF/classes

(2)　定義ファイルを格納する

サンプルファイルを基に作成したWebサービスセキュリティ機能定義ファイル，およびWebサービスセキュリティ方針定義ファイルを，参照ライブラリに設定したディレクトリの下に格納します。

なお，Webサービスセキュリティ機能定義ファイルとWebサービスセキュリティ方針定義ファイルについては，構文チェック用のコマンドを使用して，構文に誤りがないことを事前に確認してください。構文チェック用のコマンドの使い方については，「4.1.2　定義ファイル構文チェックコマンド（CWSSConfCheck）」を参照してください。

3.9.5　JAASログインモジュールの実装時の注意

ここでは，JAASログインモジュールを実装する際の注意事項について説明します。なお，JAASログインモジュールはユーザー側で開発します。一般的なJAASログインモジュールの開発方法については，Sun Microsystems,Inc. が公開しているJAAS認証に関するリファレンスガイドを参照してください。

(1)　 Callbackオブジェクトの生成について

JAASログインモジュールで認証情報を取得するためには，Webサービスセキュリティ機能が提供するコールバックハンドラを使用します。次に，JAASログインモジュール内で必要な処理を示します。

LoginModule.initialize

コールバックハンドラ（javax.security.auth.callback.CallbackHandlerの実装クラス）をクラスメンバ変数に保持します。

LoginModule.login

コールバックハンドラ内で使用するCallbackオブジェクト（javax.security.auth.callback.Callback）の配列を生成して，コールバックハンドラのhandleメソッドを呼び出します。handleメソッドを呼び出したあと，Callbackオブジェクトから認証情報を取り出して認証処理を行います。Callbackオブジェクトの配列は，次の表に示す構成で生成してください。

表3‒4　生成するCallbackオブジェクトの配列

配列番号 | Callbackオブジェクト | 用途
0 | javax.security.auth.callback.NameCallback | ユーザー名の取得
1 | javax.security.auth.callback.PasswordCallback | パスワードの取得
2 | javax.security.auth.callback.TextInputCallback | パスワード形式の取得
3 | javax.security.auth.callback.TextInputCallback | Nonce値の取得
4 | javax.security.auth.callback.TextInputCallback | Created値の取得

配列要素の取得方法を次に示します。

0：ユーザー名の取得

ユーザー名はjavax.security.auth.callback.NameCallback.getName()メソッドで取得します。

1：パスワードの取得

パスワードはjavax.security.auth.callback.PasswordCallback.getPassword()メソッドで取得します。パスワード形式がテキスト形式の場合，パスワードテキスト文字配列を返します。パスワード形式がダイジェスト形式の場合，ダイジェスト形式の文字配列を返します。パスワード省略時はnullを返します。

2：パスワード形式の取得

パスワード形式はjavax.security.auth.callback.TextInputCallback.getText()メソッドで取得します。パスワードの形式は次の文字列で返します。

"PasswordText"：テキスト形式

"PasswordDigest"：ダイジェスト形式

3：Nonce値の取得

Nonce値はjavax.security.auth.callback.TextInputCallback.getText()メソッドで取得します。

4：Created値の取得

Created値はjavax.security.auth.callback.TextInputCallback.getText()メソッドで取得します。

Windowsの場合，JAASログインモジュールのコーディング例については，次のディレクトリに格納されているサンプルを参照してください。

＜Application Serverのインストールディレクトリ＞/wss/samples/c4web/ の下

usernameToken/rpc/Auth
usernameToken/rpc/client/WEB-INF/classes/localhost
usernameToken/rpc/service/WEB-INF/classes/localhost

(2)　ログイン構成ファイルの配置について

Component Container のユーザー定義ファイル（usrconf.properties）に，次のエントリーを追加してください。

java.security.auth.login.config==＜ログイン構成ファイルのフルパス名＞

ユーザー定義ファイルについては，マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。

3.10　Webサービスセキュリティ機能の実装手順（JAX-WS機能を使用する場合）

ここでは，実行環境に必要な定義ファイルやユーザー作成のプログラムを実装し，JAX-WS機能を使用して開発したWebサービスでWebサービスセキュリティ機能を使用する手順を説明します。

JAX-WS機能を利用したWebサービスにWebサービスセキュリティ機能を組み込む場合の開発の流れ（以降，「開発ステップ」と呼びます）は次のとおりです。

（a）WebサービスまたはWebサービスクライアントの実装（3.10.1，3.10.2，3.10.3）

（b）Webサービスセキュリティハンドラの追加（3.10.1(1)，3.10.2(1)，3.10.3(1)）

（c）Webサービスセキュリティ機能定義ファイル，Webサービスセキュリティ方針定義ファイル，ハンドラチェイン設定ファイルの追加（3.10.1(2)，3.10.2(2)，3.10.3(2)）

（d）認証情報の取得・設定（任意）（3.10.4）

括弧内の番号は，このマニュアルでの参照個所を表しています。JAX-WS機能を利用したWebサービス開発の詳細および開発ステップ（d）については，マニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

3.10.1　Webサービスの実装手順（WSDL起点）

WSDLを起点にJAX-WS機能でWebサービスを開発する場合の流れを次に示します。

WSDLファイルの作成

Javaソースの生成

Webサービスの実装

DDの作成

EARファイルの作成

EARファイルのデプロイと開始

Webサービスセキュリティ機能を組み込むためには，開発ステップ3でWebサービスセキュリティハンドラを追加し，開発ステップ5で各種定義ファイルと設定ファイルを追加する必要があります。

注意事項

Webサービスセキュリティハンドラは，必ず単独で使用する必要があります。ほかのハンドラとの併用はできないため，注意してください。

ここでは，開発ステップ3と開発ステップ5についてだけ説明します。そのほかの開発ステップの詳細は，マニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

(1)　Webサービスセキュリティハンドラを追加する

Application Serverでは，ハンドラチェイン設定ファイルのテンプレート（ cwsshandler.xml）を提供しています。WebサービスにWebサービスセキュリティ機能を組み込む場合は，テンプレートをコピーして作成したハンドラチェイン設定ファイルを利用して，Webサービスセキュリティハンドラ（ com.cosminexus.wss.handlers.WSSServerHandler）を追加してください。

Webサービス実装時，javax.jws.HandlerChainアノテーションでWebサービス実装クラスをアノテートし，同アノテーションのfile要素に作成したハンドラチェイン設定ファイルを指定します。指定例を次に示します。

@javax.jws.WebService
@javax.jws.HandlerChain(file="cwsshandler.xml")
public class AddNumbersImpl{

    public int add( int number1, int number2 ) throws AddNumbersFault{
      ...
    }
}

(2)　Webサービスセキュリティ機能定義ファイル，Webサービスセキュリティ方針定義ファイル，ハンドラチェイン設定ファイルを追加する

Webサービスセキュリティ機能定義ファイル，Webサービスセキュリティ方針定義ファイル，およびハンドラチェイン設定ファイルは，すべてEARファイルに配置する必要があります。

Webサービスセキュリティ機能定義ファイルおよびWebサービスセキュリティ方針定義ファイルは，組み込みたいWebサービスセキュリティ機能の種類によって編集方法が異なります。編集方法については，目的に応じて「3.2　署名付与／検証機能を設定する」，「3.3　暗号化／復号化機能を設定する」，「3.4　認証機能を設定する」，または「3.5　メッセージに有効期限を設定する」を参照してください。配置方法については，「3.9.1(3)　WARファイルを作成する」を参照してください。

ハンドラチェイン設定ファイルは，どのWebサービスセキュリティ機能を使用する場合も同じです。ハンドラチェイン設定ファイルの編集方法については「3.10.1(1)　Webサービスセキュリティハンドラを追加する」を，配置方法についてはマニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

3.10.2　Webサービスの実装手順（SEI起点）

SEI（Service Endpoint Interface）を起点にJAX-WS機能でWebサービスを開発する場合の流れを次に示します。

Webサービス実装クラスの作成

Javaソースの生成

DDの作成

EARファイルの作成

EARファイルのデプロイと開始

Webサービスセキュリティ機能を組み込むためには，開発ステップ1でWebサービスセキュリティハンドラを追加し，開発ステップ4で各種定義ファイルと設定ファイルを追加する必要があります。

注意事項

Webサービスセキュリティハンドラは，必ず単独で使用する必要があります。ほかのハンドラとの併用はできないため，注意してください。

(1)　Webサービスセキュリティハンドラを追加する

Application Serverでは，ハンドラチェイン設定ファイルのテンプレート（cwsshandler.xml）を提供しています。Webサービスセキュリティ機能を組み込む場合は，テンプレートをコピーしてハンドラチェイン設定ファイルを作成してください。

Webサービス実装時，javax.jws.HandlerChainアノテーションでSEIをアノテートし，同アノテーションのfile要素に作成したハンドラチェイン設定ファイルを指定します。指定例は，「3.10.1(1)　Webサービスセキュリティハンドラを追加する」を参照してください。

(2)　Webサービスセキュリティ機能定義ファイル，Webサービスセキュリティ方針定義ファイル，ハンドラチェイン設定ファイルを追加する

Webサービスセキュリティ機能定義ファイル，Webサービスセキュリティ方針定義ファイル，およびハンドラチェイン設定ファイルは，すべてEARファイルに配置する必要があります。

Webサービスセキュリティ機能定義ファイルおよびWebサービスセキュリティ方針定義ファイルは，組み込みたいWebサービスセキュリティ機能の種類によって編集方法が異なります。編集方法については，目的に応じて「3.2　署名付与／検証機能を設定する」，「3.3　暗号化／復号化機能を設定する」，「3.4　認証機能を設定する」，または「3.5　メッセージに有効期限を設定する」を参照してください。配置方法については，「3.9.1(3)　WARファイルを作成する」を参照してください。

ハンドラチェイン設定ファイルは，どのWebサービスセキュリティ機能を使用する場合も同じです。ハンドラチェイン設定ファイルの編集方法については「3.10.1(1)　Webサービスセキュリティハンドラを追加する」を，配置方法についてはマニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

3.10.3　Webサービスクライアントの実装手順

JAX-WS機能でWebサービスクライアントを開発する場合の流れを次に示します。

WSDLファイルの入手

Javaソースの生成

Webサービスクライアントの実装

Webサービスの呼び出し

Webサービスセキュリティ機能を組み込むためには，開発ステップ2でWebサービスセキュリティハンドラを追加し，開発ステップ3で各種定義ファイルと設定ファイルを追加する必要があります。

注意事項

Webサービスセキュリティハンドラは，必ず単独で使用する必要があります。ほかのハンドラとの併用はできないため，注意してください。

参考

サービスクラスの生成およびポートの取得には処理コストが掛かるため，一度生成したサービスクラスおよび取得したポートは再利用することを推奨します。再利用の詳細については，マニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

ここでは，開発ステップ2と開発ステップ3についてだけ説明します。そのほかの開発ステップの詳細は，マニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

(1)　Webサービスセキュリティハンドラを追加する

Application Serverでは，外部バインディングファイルのテンプレート（cwssbinding.xml）を提供しています。WebサービスクライアントにWebサービスセキュリティ機能を組み込む場合は，テンプレートをコピーして作成した外部バインディングファイルを利用して，Webサービスセキュリティハンドラ（com.cosminexus.wss.handlers.WSSClientHandler）を追加してください。

Webサービスクライアント実装時には，まず外部バインディングファイルのbindings要素のwsdlLocation属性にWSDLファイルを指定します。例を次に示します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jaxws:bindings
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
    wsdlLocation="./WEB-INF/wsdl/WebService.wsdl">
    <jaxws:bindings node="wsdl:definitions">
        <javaee:handler-chains>
            <javaee:handler-chain>
                <javaee:handler>
                    <javaee:handler-class>com.cosminexus.wss.handlers.WSSClientHandler</javaee:handler-class>
                </javaee:handler>
            </javaee:handler-chain>
        </javaee:handler-chains>
    </jaxws:bindings>
</jaxws:bindings>

編集した外部バインディングファイルを引数に指定して，JAX-WS機能が提供するcjwsimportコマンドを実行します。これにより，WebサービスクライアントにWebサービスセキュリティハンドラを追加するための二つのハンドラチェイン設定ファイルが生成されます。生成されるハンドラチェイン設定ファイルの名称と用途を次に示します。

表3‒5　cjwsimportコマンドで生成されるハンドラチェイン設定ファイル

ファイル名 | 用途
サービス名 + "_handler.xml " | サービスクラス用ハンドラチェイン設定ファイル
SEI名+ "_handler.xml " | SEI用ハンドラチェイン設定ファイル

生成されたハンドラチェイン設定ファイルは，編集しないでそのまま使用してください。また，cjwsimportコマンド，サービス名，およびSEI名の詳細については，マニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

(2)　Webサービスセキュリティ機能定義ファイル，Webサービスセキュリティ方針定義ファイル，ハンドラチェイン設定ファイルを追加する

Webサービスセキュリティ機能定義ファイル，Webサービスセキュリティ方針定義ファイル，および「3.10.3(1)　Webサービスセキュリティハンドラを追加する」で生成したサービスクラス用ハンドラチェイン設定ファイルおよびSEI用ハンドラチェイン設定ファイルは，それぞれ適切なディレクトリに配置する必要があります。

Webサービスセキュリティ機能定義ファイルおよびWebサービスセキュリティ方針定義ファイルは，組み込みたいWebサービスセキュリティ機能の種類によって編集方法が異なります。編集方法については，目的に応じて次の個所を参照してください。

「3.2　署名付与／検証機能を設定する」

「3.3　暗号化／復号化機能を設定する」

「3.4　認証機能を設定する」

「3.5　メッセージに有効期限を設定する」

配置方法についての参照個所は，次のとおりです。

WebサービスクライアントがWebアプリケーションの場合の配置方法は，「3.9.2(3)　WARファイルを作成する」を参照してください。

WebサービスクライアントがコマンドラインJavaアプリケーションの場合の配置方法は，「3.9.3　クライアント側がコマンドラインJavaアプリケーションの場合の実装手順」を参照してください。

WebサービスクライアントがEJBアプリケーションの場合の配置方法は，「3.9.4(2)　定義ファイルを格納する」を参照してください。

生成した二つのハンドラチェイン設定ファイルは編集しないで，そのままサービスクラスおよびSEIのクラスファイルと同じディレクトリに配置してください。

(3)　コマンドラインを利用してWebサービスクライアントを実行する

cjclstartapコマンドを使用して，Webサービスセキュリティ機能を適用したクライアントを実行する場合，Javaアプリケーション用オプション定義ファイルに次の値を設定したキーを追加する必要があります。

add.class.path=<Application Serverのインストールディレクトリ>¥wss¥lib¥cwssec.jar

add.class.path=<Application Serverのインストールディレクトリ>¥XMLSEC¥lib¥csmxsec.jar

Javaアプリケーション用オプション定義ファイルについてはマニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を，コマンドライン利用時の設定についてはマニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

(4)　サービスクラス生成時の注意事項

Webサービスセキュリティ機能をWebサービスクライアントに適用する場合，複数のスレッドで同時にサービスクラスを生成しないでください。異なるサービスクラスの場合も，複数のスレッドで同時に生成するとエラーが発生するおそれがあります。

3.10.4　認証情報の取得・設定手順

JAX-WS機能を使用して開発したWebサービスに対して認証機能を設定したい場合，Webサービスセキュリティ機能が提供するAPIを利用すると，メッセージ内のUsernameToken要素を操作できます。ここでは，UsernameToken要素を操作することで，認証情報を取得または設定する方法を説明します。

(1)　Webサービス側での認証情報の取得

Webサービスが受信したメッセージの認証情報は，JAX-WS機能のサポート範囲内でアクセスできるメッセージコンテキストから取得します。手順を次に示します。

Webサービス実装クラスでjavax.xml.ws.WebServiceContextクラスのインスタンス変数を宣言します。

手順1で宣言したインスタンス変数をjavax.annotation.Resourceアノテーションでアノテートします。

Webサービス実装クラスのメソッド内で，手順1で宣言したインスタンス変数のgetMessageContext()メソッドを呼び出します。

呼び出したgetMessageContext()メソッドの戻り値として，MessageContextインタフェースを取得します。

WSSConstants.WSS_RECV_ELEMENTPROXYをキーとしてMessageContextインタフェースからjava.util.List<WSSElementProxy>クラスのオブジェクトを取得します。

これらの手順に従って，Webサービス実装クラスTestJaxWsImplのメソッドjaxWsTest()でメッセージコンテキストを取得する例を示します。

import javax.annotation.Resource;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
import com.cosminexus.wss.element.WSSConstants;
・・・
public class TestJaxWsImpl {
    @Resource WebServiceContext wsContext;
    public String jaxWsTest()
        throws UserDefinedException
    {
        ・・・
        MessageContext msgContext = wsContext.getMessageContext();
        Object obj = msgContext.get(WSSConstants.WSS_RECV_ELEMENTPROXY);
        ・・・
   }
}

(2)　Webサービスクライアント側での認証情報の設定

Webサービスクライアントが送信するメッセージに認証情報を設定したい場合，JAX-WS機能のサポート範囲内のメッセージコンテキストを設定します。手順を次に示します。

WebサービスクライアントのサービスクラスからSEI（ポート）を取得します。

SEIからgetRequestContext()メソッドを呼び出し，戻り値としてMessageContextインタフェースを取得します。

WSSConstants.WSS_SEND_ELEMENTPROXYをキーとしてMessageContextインタフェースにWSSElementProxyクラスを設定します。

これらの手順に従って，WebサービスクライアントのTestClientクラスを利用してメッセージコンテキストを取得する例を示します。

import java.util.Map;
import javax.xml.ws.BindingProvider;
import com.cosminexus.wss.element.WSSConstants;
import com.cosminexus.wss.element.WSSElementProxy;
import com.cosminexus.wss.element.WSSElementProxyBuilder;
import com.example.sample.TestJaxWs;
import com.example.sample.TestJaxWsService;
・・・
public class TestClient {
    public static void main( String[] args ) {
        ・・・
        TestJaxWsService service = new TestJaxWsService();
        TestJaxWs port = service.getTestJaxWs();
        ・・・
        WSSElementProxyBuilder proxyBuilder = WSSElementProxyBuilder.newInstance();
        WSSElementProxy proxy = proxyBuilder.createWSSElementProxy();
        ・・・
        Map<String, Object> context = ((BindingProvider) port).getRequestContext();
        context.put(WSSConstants.WSS_SEND_ELEMENTPROXY, proxy);
        ・・・
    }

3.11　Webサービスセキュリティ機能の実装手順（ポリシーを使用する場合）

JAX-WS機能でWebサービスを開発する場合，WSDLには記述できない機能や要件をポリシーとして定めることができます。ここで使用するポリシーでは， WS-SecurityPolicy仕様に準拠したアサーションを利用する必要があります。

3.11.1　Webサービスの実装手順

ポリシーを使用したWebサービスの開発の流れを次に示します。

図3‒3　ポリシーを使用したWebサービスの開発

[picture]

WSDLファイルを作成します。※1

ポリシー記述をコピーします。

WSDLファイルにポリシー記述をインポートします（詳細は「3.11.1(1)　ポリシー記述をインポートする」を参照）。

WSDLファイルにポリシー参照を記述して，ポリシー記述内のアサーションとWSDLの要素を関連づけます。

SEIを作成します。※1

ハンドラチェイン設定ファイルをコピーします。※1

Webサービス実装クラスを作成します。

Webサービス実装クラスをコンパイルします。※1

ポリシー記述に対応するWebサービスセキュリティ機能定義ファイルおよびWebサービスセキュリティ方針定義ファイルを作成します（詳細は「3.11.3　定義ファイルの編集」を参照）。

web.xmlおよびapplication.xmlを作成します。※1

EARファイルを作成します。※2

注※1

ポリシーを使用しない場合と共通の手順です。

注※2

ポリシーを使用する場合，EARファイルを作成するときには次のことに注意してください。

Webサービスセキュリティ機能定義ファイル，Webサービスセキュリティ方針定義ファイル，およびハンドラチェイン設定ファイルをEARファイルに配置する必要があります。詳細は，「3.10.1　Webサービスの実装手順（WSDL起点）」を参照してください。

ポリシー記述を含むメタデータを発行するには，WSDLおよびポリシー記述をWARファイルのWEB-INF/wsdlディレクトリに含める必要があります。詳細はマニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

(1)　ポリシー記述をインポートする

Webサービスセキュリティ機能では，次のポリシー記述をサポートしています。

表3‒6　サポートしているポリシー記述と格納先ディレクトリ

ポリシー記述 | 説明 | 格納先
SignaturePolicy.wsdl | リクエストメッセージおよびレスポンスメッセージの両方に対して，X.509証明書を使用した署名付与／検証機能を使用できます。 | <Application Serverのインストールディレクトリ>/wss/policies/signature/
EncryptionPolicy.wsdl | リクエストメッセージおよびレスポンスメッセージの両方に対して，共通鍵暗号AES-128を使用した暗号化／復号化機能を使用できます。 | <Application Serverのインストールディレクトリ>/wss/policies/encryption/
AuthenticationPolicy.wsdl | ユーザー名およびダイジェスト形式のパスワードを設定したUsernameToken要素をリクエストメッセージに付与し，通信先にセキュリティトークンを渡すことによって，認証機能が使用できます。 | <Application Serverのインストールディレクトリ>/wss/policies/authentication/

Webサービスセキュリティ機能は，これらのポリシー記述をテンプレートとして提供しています。テンプレートの中から必要なポリシー記述を一つだけ選択してコピーし，wsdl:import要素を使用してWSDLファイルにポリシー記述をインポートしてください。インポート例を次に示します。

<wsdl:definitions ・・・>
  <wsdl:import
     namespace="http://cosminexus.com/wss/policy/signature"
     location="SignaturePolicy.wsdl"/>
  ・・・
</wsdl:definitions>

注意事項

ポリシー記述をコピーして使用する場合は，次のことに注意してください。

コピーできるポリシー記述は一つです。複数のポリシー記述を組み合わせて利用することはできません。

コピーしたポリシー記述は変更しないでください。変更した場合の動作は保証されません。

ポリシー記述を含むメタデータを発行したい場合は，ローカルのポリシー記述を相対パスで指定してください。絶対パスで指定すると，ポリシー記述を含むメタデータを発行できません。

次に，Webサービスセキュリティ機能がサポートしているポリシー記述に含まれるアサーションを示します。

表3‒7　アサーション一覧

ポリシー記述 | アサーション種別 | アサーション名 （wsp:Policy要素のName属性）
SignaturePolicy.wsdl | セキュリティバインディング | http://cosminexus.com/wss/policy/signature#SignaturePolicy
リクエストメッセージのプロテクション | http://cosminexus.com/wss/policy/signature#SignedInputMessagePolicy
レスポンスメッセージのプロテクション | http://cosminexus.com/wss/policy/signature#SignedOutputMessagePolicy
EncryptionPolicy.wsdl | セキュリティバインディング | http://cosminexus.com/wss/policy/encryption#EncryptionPolicy
リクエストメッセージのプロテクション | http://cosminexus.com/wss/policy/encryption#EncryptedInputMessagePolicy
レスポンスメッセージのプロテクション | http://cosminexus.com/wss/policy/encryption#EncryptedOutputMessagePolicy
AuthenticationPolicy.wsdl | サポーティングトークン | http://cosminexus.com/wss/policy/authentication#AuthenticationPolicy

(2)　ポリシー参照を追加する

ポリシーを利用するには，wsp:PolicyReference要素を使用してWSDLファイルにポリシー参照の記述を追加し，ポリシー記述のアサーションとWSDLの要素とを関連づける必要があります。

wsp:PolicyReference要素は，次の形式で記述します。

<wsp:PolicyReference URI="参照するアサーション名"/>

アサーション名には，wsp:Policy要素のName属性を指定します。アサーション名（wsp:Policy要素のName属性）の詳細は，表3-7を参照してください。

ポリシー記述に含まれるアサーションは，すべてWSDLの要素から参照される必要があります。wsp:PolicyReference要素を使用した場合に，アサーションを参照するWSDLの要素は次のとおりです。

表3‒8　アサーションを参照するWSDLの要素

WSDLの要素 | 参照できるアサーションの種別
/wsdl:definitions/wsdl:binding | セキュリティバインディング サポーティングトークン
/wsdl:definitions/wsdl:binding/wsdl:operation/wsdl:input | リクエストメッセージのプロテクション
/wsdl:definitions/wsdl:binding/wsdl:operation/wsdl:output | レスポンスメッセージのプロテクション

ポリシー参照の例を次に示します。

<wsdl:definitions
   xmlns:wsp="http://www.w3.org/ns/ws-policy/"
  ・・・>

  <wsdl:import
     namespace="http://cosminexus.com/wss/policy/signature"
     location="SignaturePolicy.wsdl"/>
  <wsdl:types>・・・</wsdl:types>
  <wsdl:message ・・・>・・・</wsdl:message>
  ・・・
  <wsdl:portType ・・・>・・・</wsdl:portType>

  <!-- バインディング -->
  <wsdl:binding ・・・>
    <wsp:PolicyReference URI="http://cosminexus.com/wss/policy/signature#SignaturePolicy"/>
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <!-- オペレーション -->
    <wsdl:operation ・・・>
      <soap:operation/>
      <!-- リクエストメッセージ -->
      <wsdl:input>
        <wsp:PolicyReference URI="http://cosminexus.com/wss/policy/signature#SignedInputMessagePolicy"/>
        <soap:body use="literal"/>
      </wsdl:input>
      <!-- レスポンスメッセージ -->
      <wsdl:output>
        <wsp:PolicyReference URI="http://cosminexus.com/wss/policy/signature#SignedOutputMessagePolicy"/>
        <soap:body use="literal"/>
      </wsdl:output>
      ・・・
    </wsdl:operation>
  </wsdl:binding>

  <wsdl:service ・・・>・・・</wsdl:service>

</wsdl:definitions>

3.11.2　Webサービスクライアントの実装手順

ポリシーを使用したWebサービスクライアントの開発の流れを次に示します。

図3‒4　ポリシーを使用したWebサービスクライアントの開発

[picture]

WSDLファイルを入手，または公開されているWSDLのURLを取得します。※

外部バインディングファイルをコピーして，編集します（詳細は「3.10.3(1)　Webサービスセキュリティハンドラを追加する」を参照）。

外部バインディングファイルを引数に指定して，cjwsimportコマンドを実行し，サービスクラスを生成します。

Webサービスクライアントの実装クラスを作成します。※

Webサービスクライアントの実装クラスをコンパイルします。※

ポリシー記述に対応するWebサービスセキュリティ機能定義ファイルおよびWebサービスセキュリティ方針定義ファイルを作成します（詳細は「3.11.3　定義ファイルの編集」を参照）。

注※

ポリシーを使用しない場合と共通の手順です。

3.11.3　定義ファイルの編集

ポリシー記述を使用する場合は，Application Serverが提供する，各ポリシー記述に対応するWebサービスセキュリティ機能定義ファイルおよびWebサービスセキュリティ方針定義ファイルのテンプレートをコピーして使用します。使用するポリシー記述に応じて，次に示す場所からテンプレートをコピーしてください。

表3‒9　ポリシー記述に対応した定義ファイルのテンプレートの格納場所

ポリシー記述 | 定義ファイルの格納場所

SignaturePolicy.wsdl

Webサービス側

<Application Serverのインストールディレクトリ>/wss/policies/signature/templates/server/

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

<Application Serverのインストールディレクトリ>/wss/policies/signature/templates/client/

EncryptionPolicy.wsdl

Webサービス側

<Application Serverのインストールディレクトリ>/wss/policies/encryption/templates/server/

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

<Application Serverのインストールディレクトリ>/wss/policies/encryption/templates/client/

AuthenticationPolicy.wsdl

Webサービス側

<Application Serverのインストールディレクトリ>/wss/policies/authentication/templates/server/

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

<Application Serverのインストールディレクトリ>/wss/policies/authentication/templates/client/

なお，コピーしたWebサービスセキュリティ機能定義ファイルおよびWebサービスセキュリティ方針定義ファイルは，編集する必要があります。編集方法を次に示します。

(1)　署名付与／検証機能を設定する場合

表3‒10　ポリシー記述を使用するために編集が必要な属性（署名付与／検証機能を設定する場合）

定義ファイル | 要素 | 編集が必要な属性
Webサービスセキュリティ機能定義ファイル | KeyStore要素 | File属性 Type属性 Password属性
Certificate要素 | Alias属性
PrivateKey要素 | Alias属性 Password属性
Webサービスセキュリティ方針定義ファイル | AuthorityCertificateFile要素 | Name属性

(2)　暗号化／復号化機能を設定する場合

表3‒11　ポリシー記述を使用するために編集が必要な属性（暗号化／復号化機能を設定する場合）

定義ファイル | 要素 | 編集が必要な属性
Webサービスセキュリティ機能定義ファイル | SecretKeyFile要素 | Name属性

注

暗号化／復号化機能を設定する場合，Webサービスセキュリティ方針定義ファイルで編集が必要な属性はありません。

(3)　認証機能を設定する場合

認証機能を設定する場合に編集が必要なのは，Webサービス側に配置するWebサービスセキュリティ機能定義ファイルのConfigurationIndex要素だけです。Webサービスセキュリティ方針定義ファイルおよびWebサービスクライアント側のWebサービスセキュリティ機能定義ファイルは，テンプレートをコピーしたものをそのまま使用してください。

なお，Webサービスクライアントは，認証に必要なユーザー名とパスワード（ダイジェスト形式）を指定するように実装する必要があります。実装に必要なAPIについては，「5.　Webサービスセキュリティ機能が提供するAPI」を参照してください。

4　コマンドリファレンス

この章では，Webサービスセキュリティ機能が提供するコマンドについて説明します。

4.1　Webサービスセキュリティ機能が提供するコマンド

この節では，Webサービスセキュリティ機能が提供するコマンドの使い方について説明します。

4.1.1　共通鍵生成コマンド（CWSSCreateSecretKey）

共通鍵生成コマンドを使用して，暗号化機能を利用するときに必要な共通鍵を生成します。共通鍵生成コマンドを実行すると，共通鍵生成コマンドのオプションで指定したファイルに共通鍵が出力されます。共通鍵のファイルはバイナリー形式です。共通鍵生成コマンドの所在は次のとおりです。

＜Application Serverのインストールディレクトリ＞/wss/bin/ の下

出力された共通鍵の扱い方については，「付録B.1　Webサービスセキュリティ機能定義ファイルの項目」のSecretKeyFile要素を参照してください。

(1)　形式

共通鍵生成コマンドの形式を次に示します。

CWSSCreateSecretKey.bat -h | -a <アルゴリズム識別子> -o <出力ファイル名>

コマンド名（CWSSCreateSecretKey.bat）のあとに，一つ以上の空白を挿入し，オプションを指定します。オプションと指定する値の間も一つ以上の空白を挿入します。

(2)　オプション

共通鍵生成コマンドで指定するオプションを次に示します。

表4‒1　共通鍵生成コマンドのオプション

オプション | 説明
-h | コマンドのオプション説明を表示します。

-a

生成する共通鍵のアルゴリズム識別子を指定します。

指定可能な値を次に示します。

"TRIPLEDES"： Triple DESブロック暗号の共通鍵を生成します。

"AES128"： AES-128ブロック暗号の共通鍵を生成します。

-o | 生成した共通鍵を出力するファイル名を指定します。

(3)　メッセージ

コマンド実行時のメッセージについては，マニュアル「アプリケーションサーバ メッセージ(構築／運用／開発用)」を参照してください。

(4)　注意事項

OSがWindowsの場合だけ実行できます。ほかのOSでは実行できません。

出力ファイル名に空白が含まれる場合は出力ファイル名を「"」で囲みます。

出力ファイル名にディレクトリを含まない場合は，カレントディレクトリに出力されます。

出力ファイル名にディレクトリを含めた場合は，既存のディレクトリを指定する必要があります。

出力ファイル名には既存のファイルを指定してはいけません。

同じオプションを2回以上指定すると，最後に指定したオプションの値が有効になります。次の例では，共通鍵はfile2に出力されます。

例

CWSSCreateSecretKey.bat -a AES128 -o file1 -o file2

4.1.2　定義ファイル構文チェックコマンド（CWSSConfCheck）

Webサービスセキュリティ機能定義ファイル，およびWebサービスセキュリティ方針定義ファイルを作成したあと，設定したXMLの構文が正しいかどうかをチェックするために，定義ファイル構文チェックコマンドを使用します。定義ファイル構文チェックコマンドの所在は次のとおりです。

＜Application Serverのインストールディレクトリ＞/wss/bin/ の下

(1)　形式

定義ファイル構文チェックコマンドの形式を次に示します。

CWSSConfCheck.bat -h | [-s | -p] -f <チェックする定義ファイル名>

コマンド名（CWSSConfCheck.bat）のあとに，一つ以上の空白を挿入し，オプションを指定します。オプションと指定する値の間も一つ以上の空白を挿入します。

(2)　オプション

構文チェックコマンドで指定するオプションを次に示します。

表4‒2　定義ファイル構文チェックコマンドのオプション

オプション | 説明
-h | コマンドのオプション説明を表示します。
-s | -fオプションで指定するファイルが，Webサービスセキュリティ機能定義ファイルの場合に指定します。
-p | -fオプションで指定するファイルが，Webサービスセキュリティ方針定義ファイルの場合に指定します。
-f | チェック対象の定義ファイル名を指定します。

(3)　終了コード

構文チェックコマンドの終了コードを次に示します。

０：正常終了

１：エラー終了

(4)　メッセージ

コマンド実行時のメッセージについては，マニュアル「アプリケーションサーバ メッセージ(構築／運用／開発用)」を参照してください。

(5)　注意事項

OSがWindowsの場合だけ実行できます。ほかのOSでは実行できません。

入力ファイル名に空白が含まれる場合は入力ファイル名を「"」で囲みます。

構文チェックで不正な構文があった場合，または内部エラーが発生した場合，エラーメッセージが標準出力に表示されます。

同じオプションを2回以上指定すると，最後に指定したオプションの値が有効になります。次の例では，file2に対してだけ構文をチェックします。

例

CWSSConfCheck -s -f file1.xml -f file2.xml

5　Webサービスセキュリティ機能が提供するAPI

この章では，Webサービスセキュリティ機能が提供するAPIについて説明します。

5.1　インタフェースおよびクラスの一覧

Webサービスセキュリティ機能を使用する場合，SOAPアプリケーション開発支援機能またはJAX-WS機能のどちらを使用してWebサービスを開発するかによって，使用できるAPIが異なります。Webサービスセキュリティ機能が提供するインタフェースおよびクラスの一覧を次に示します。

表5‒1　提供するインタフェースおよびクラスの一覧

インタフェース名およびクラス名 | 説明 | サポート状況
SOAPアプリケーション 開発支援機能 | JAX-WS機能
WSSElementProxyBuilder | セキュリティ項目操作クラスのビルダクラス | ×※1 | ○
WSSElementProxyFactory | セキュリティ項目操作クラスのファクトリクラス | ○ | ×※2
WSSElementProxy | セキュリティ項目操作クラス | ○ | ○
WSSConstants | 定数定義インタフェース | × | ○
WSSUsernameToken | UsernameToken要素の操作クラス | ○ | ○
WSSUsernameToken.PasswordType | UsernameToken要素のパスワード種別を示す列挙定数 | ○ | ○
WSSException | 例外情報を保持するクラス | ○ | ○

（凡例）

○：使用できます。

×：使用できません。

注※1

使用した場合，コンパイルは正常に終了しますが，実行時にエラーが発生します。

注※2

使用した場合，コンパイル時にエラーが発生します。

なお，これらのAPIを使用してSOAP通信基盤上またはJAX-WSエンジン上で動作するWebサービスまたはWebサービスクライアントを開発する場合は，クラスパスに＜Application Serverのインストールディレクトリ＞/wss/lib/cwssec.jarを追加してコンパイルする必要があります。

5.2　WSSElementProxyBuilderクラス

セキュリティ項目操作クラスのビルダクラスです。このクラスは，JAX-WS機能で開発したWebサービスクライアントに対して使用できます。

クラス定義

public abstract class WSSElementProxyBuilder

パッケージ名

com.cosminexus.wss.element

WSSElementProxyBuilderクラスのメソッドを次の表に示します。

表5‒2　WSSElementProxyBuilderクラスのメソッド一覧

メソッド | 機能概要
newInstance | WSSElementProxyBuilderクラスのインスタンスを生成します。
createWSSElementProxy | セキュリティ項目操作クラスのインスタンスを生成します。

次に，各メソッドの詳細について説明します。

newInstance

クラス名：WSSElementProxyBuilder

機能

WSSElementProxyBuilderクラスのインスタンスを生成します。

構文

public static WSSElementProxyBuilder newInstance() throws WSSException;

引数

ありません。

戻り値

WSSElementProxyBuilderクラスのインスタンスです。

例外

WSSException

Application ServerのJAX-WS機能による実行環境以外でこのメソッドが呼び出された場合にスローされます。メッセージKDCGA9000-Eの一部に，エラーの詳細として次の内容が表示されます。

WSSElementProxyBuilder class is not available outside of JAX-WS runtime environment.

createWSSElementProxy

クラス名：WSSElementProxyBuilder

機能

空のセキュリティ項目操作クラスのインスタンスを生成します。

このメソッドで取得したセキュリティ項目操作クラスにUsernameToken要素クラスのインスタンスを設定します。その後，設定したインスタンスをApplication ServerのJAX-WS機能のメッセージコンテキストに追加すると，設定内容に従ってSOAPメッセージが生成されます。

構文

public abstract WSSElementProxy createWSSElementProxy();

引数

ありません。

戻り値

セキュリティ項目操作クラスのインスタンスです。

5.3　 WSSElementProxyFactoryクラス（セキュリティ項目操作クラスの生成）

セキュリティ項目操作クラスのファクトリクラスです。このクラスは，SOAPアプリケーション開発支援機能で開発したSOAPアプリケーションに対して使用できます。

クラス定義

public final class WSSElementProxyFactory

パッケージ名

com.cosminexus.wss.element

WSSElementProxyFactoryクラスのメソッドを次の表に示します。

表5‒3　WSSElementProxyFactoryクラスのメソッド一覧

メソッド | 機能概要
newWSSElementProxy （スタブクラスから生成） | スタブクラスから空のセキュリティ項目操作クラスのインスタンスを生成します。
newWSSElementProxy （実装クラスから生成） | 空のセキュリティ項目操作クラスのインスタンスを生成します。
getWSSElementProxy （スタブクラスから生成） | スタブクラスから，受信したメッセージのセキュリティ項目操作クラスのインスタンスを生成します。
getWSSElementProxy （実装クラスから生成） | 受信したメッセージのセキュリティ項目操作クラスのインスタンスを生成します。

次に，各メソッドの詳細について説明します。

newWSSElementProxy（スタブクラスから生成）

クラス名：WSSElementProxyFactory

機能

スタブクラスから空のセキュリティ項目操作クラスのインスタンスを生成します。このメソッドの引数で指定したクライアントのインタフェースクラスのサービスメソッドを呼び出すと，セキュリティ項目操作クラスに設定した内容でセキュリティ要素を生成します。このメソッドは，呼び出すサービスメソッドの形態がRPCまたはEJBの場合に使用します。

構文

public static WSSElementProxy newWSSElementProxy (
     javax.xml.rpc.Stub a_Stub
) throws WSSException;

引数

表5‒4　newWSSElementProxy（スタブクラスから生成）メソッドの引数

仮引数名 | 名称 | in/out | 説明
a_Stub | スタブクラス | in | クライアントのインタフェースクラス（スタブクラス）を指定します。

戻り値

セキュリティ項目操作クラスのインスタンスです。

例外

WSSException

処理中に予測しない例外が発生した場合にスローされます。

注意事項

メソッドの引数の指定とは異なるクライアントのインタフェースクラスのサービスメソッドを呼び出した場合，セキュリティ項目操作クラスに設定した内容は反映しません。Webサービスセキュリティ機能定義ファイルに設定した内容に従って，セキュリティ項目を設定します。

メソッドで取得したセキュリティ項目操作クラスが提供するメソッドを利用しないでサービスメソッドを呼び出した場合，Webサービスセキュリティ機能定義ファイルに設定した内容に従って，セキュリティ項目を設定します。

送信時にWebサービスセキュリティ機能を利用しない場合は，このメソッドで取得したセキュリティ項目操作クラスが提供するメソッドを設定しても，セキュリティ項目はSOAPメッセージに設定しません。Webサービスセキュリティ機能を利用しない場合を次に示します。

Webサービスセキュリティ機能定義ファイルが送信時にデプロイされていない場合

Webサービスセキュリティ機能定義ファイル中のリクエストメッセージ送信時の設定が省略されている場合

newWSSElementProxy（実装クラスから生成）

クラス名：WSSElementProxyFactory

機能

空のセキュリティ項目操作クラスのインスタンスを生成します。このメソッドは，スタブまたはメッセージクラスから生成するメソッドとは異なり，SOAPサービスの実装クラスでサービスの応答を送信する際に使用します。このメソッドで取得したセキュリティ項目操作クラスが提供するメソッドを利用すると，サービスの応答をクライアントに送信する際に，セキュリティ項目操作クラスに設定した内容でセキュリティ要素を生成します。

構文

public static WSSElementProxy newWSSElementProxy (
) throws WSSException;

引数

ありません。

戻り値

セキュリティ項目操作クラスのインスタンスです。

例外

WSSException

処理中に予測しない例外が発生した場合にスローされます。

注意事項

メソッドで取得したセキュリティ項目操作クラスが提供するメソッドを利用しない場合，Webサービスセキュリティ機能定義ファイルに設定した内容に従って，レスポンスメッセージ内のセキュリティ項目を設定します。

メソッドをリクエスト受信処理以外の場所で呼び出した場合はnullを返します。

送信時にWebサービスセキュリティ機能を利用しない場合は，このメソッドで取得したセキュリティ項目操作クラスが提供するメソッドを利用しても，セキュリティ項目は設定しません。Webサービスセキュリティ機能を利用しない場合を次に示します。

Webサービスセキュリティ機能定義ファイルが送信時にデプロイされていない場合

Webサービスセキュリティ機能定義ファイル中のリクエストメッセージ送信時の設定が省略されていた場合

getWSSElementProxy（スタブクラスから生成）

クラス名：WSSElementProxyFactory

機能

スタブクラスから，受信したメッセージのセキュリティ項目操作クラスのインスタンスを生成します。このメソッドの引数で指定したクライアントのインタフェースクラスのサービスメソッドの呼び出し後にこのメソッドを呼び出すと，サービスメソッドのレスポンスメッセージに含まれるセキュリティ項目を取得し，セキュリティ項目操作クラスを生成します。その後，このメソッドで取得したセキュリティ項目操作クラスのメソッドを呼び出すことで，セキュリティ項目を取得できます。

構文

public static WSSElementProxy[] getWSSElementProxy (
     javax.xml.rpc.Stub a_Stub
) throws WSSException;

引数

表5‒5　getWSSElementProxy（スタブクラスから生成）メソッドの引数

仮引数名 | 名称 | in/out | 説明
a_Stub | スタブクラス | in | RPCまたはEJBを利用したSOAPアプリケーションの場合で，SOAPアプリケーション開発支援機能によって作成されるクライアントのインタフェースクラス（スタブクラス）を指定します。

戻り値

セキュリティ項目操作クラスのインスタンス配列です。セキュリティ項目操作クラスが生成できない場合はnullを返します。

例外

WSSException

処理中に予測しない例外が発生した場合にスローされます。

注意事項

このメソッドは，引数に指定したスタブクラスのサービスメソッドの呼び出し直後に必ず呼び出すようにしてください。引数に指定したものと異なるスタブクラスのサービスメソッド呼び出し直後にこのメソッドを呼び出した場合，引数に指定したスタブクラスのサービスメソッドの応答メッセージに含まれるセキュリティ項目は取得されません。

メソッドで取得するセキュリティ項目は，このメソッドを呼び出す直前に呼び出したサービスメソッドのレスポンスメッセージに含まれるセキュリティ項目です。サービスメソッドを複数回呼び出した場合，最後のサービスメソッド呼び出しのレスポンスメッセージに含まれるセキュリティ項目を取得します。サービスメソッドを一度も呼び出さないで，このメソッドを呼び出した場合はnullを返します。

戻り値であるセキュリティ項目クラスの配列の順序と，レスポンスメッセージに含まれるセキュリティ項目の順序は必ずしも一致しません。

getWSSElementProxy（実装クラスから生成）

クラス名：WSSElementProxyFactory

機能

受信したメッセージのセキュリティ項目操作クラスのインスタンスを生成します。このメソッドは，スタブまたはメッセージクラスから生成するメソッドとは異なり，SOAPアプリケーションの実装クラスでサービスのリクエストメッセージに含まれるセキュリティ項目を取得する際に使用します。SOAPアプリケーションの実装クラスでこのメソッドを呼び出すと，リクエストメッセージに含まれるセキュリティ項目を取得し，セキュリティ項目操作クラスを生成します。その後，このメソッドで取得したセキュリティ項目操作クラスのメソッドを呼び出すことで，セキュリティ項目を取得できます。

構文

public static WSSElementProxy[] getWSSElementProxy (
) throws WSSException;

引数

ありません。

戻り値

セキュリティ項目操作クラスのインスタンス配列です。セキュリティ項目操作クラスが生成できない場合はnullを返します。

例外

WSSException

処理中に予測しない例外が発生した場合にスローされます。

注意事項

このメソッドで取得するセキュリティ項目は，Webサービスセキュリティ機能が処理するセキュリティ項目です。

戻り値であるセキュリティ項目クラスの配列の順序と，リクエストメッセージに含まれるセキュリティ項目の順序は必ずしも一致しません。

5.4　WSSElementProxyクラス（セキュリティ項目の操作）

セキュリティ項目の操作クラスです。

クラス定義

public final class WSSElementProxy

パッケージ名

com.cosminexus.wss.element

WSSElementProxyクラスのメソッドを次の表に示します。

表5‒6　WSSElementProxyクラスのメソッド一覧

メソッド名称 | 説明
getWSSUsernameToken | UsernameToken要素クラスのインスタンスを取得します。
setWSSUsernameToken | UsernameToken要素クラスのインスタンスをセキュリティ項目操作クラスのインスタンスに設定します。
removeWSSUsernameToken | UsernameToken要素クラスのインスタンスをセキュリティ項目操作クラスのインスタンスから削除します。
getRole | セキュリティ項目のrole属性を取得します。
setRole | セキュリティ項目のrole属性を設定します。

getWSSUsernameToken

クラス名：WSSElementProxy

機能

UsernameToken要素クラスのインスタンスを取得します。

構文

public WSSUsernameToken[] getWSSUsernameToken (
) throws WSSException;

引数

ありません。

戻り値

UsernameToken要素クラスのインスタンス配列です。

例外

WSSException

処理中に予測しない例外が発生した場合にスローされます。

注意事項

セキュリティ項目操作クラスのファクトリクラスの，newWSSElementProxyメソッドによって取得したWSSElementProxyクラスのインスタンスの場合，このメソッドの戻り値はnullです。ただし，setWSSUsernameTokenを呼んだ後，このメソッドを呼び出すとsetWSSUsernameTokenで指定した値を返します。

戻り値のUsernameToken要素クラスのインスタンス配列の順序と，メッセージ中のUsernameToken要素の順序とは必ずしも一致しません。

setWSSUsernameToken

クラス名：WSSElementProxy

機能

UsernameToken要素クラスのインスタンスをセキュリティ項目操作クラスに設定します。

構文

public void setWSSUsernameToken (
     WSSUsernameToken a_UsernameToken
) throws WSSException;

引数

表5‒7　setWSSUsernameTokenメソッドの引数

仮引数名 | 名称 | in/out | 説明
a_UsernameToken | UsernameToken要素クラス | in | セキュリティ項目操作クラスに設定するUsernameToken要素操作クラスのインスタンスを指定します。

戻り値

ありません。

例外

WSSException

処理中に予測しない例外が発生した場合にスローされます。

注意事項

引数にnullを指定した場合，セキュリティ項目操作クラスにUsernameToken要素クラスを設定しないで正常終了します。すでにUsernameToken要素クラスを設定している場合は，元のUsernameToken要素クラスも更新しません。

removeWSSUsernameToken

クラス名：WSSElementProxy

機能

UsernameToken要素クラスのインスタンスをセキュリティ項目操作クラスから削除します。

構文

public void removeWSSUsernameToken (
) throws WSSException;

引数

ありません。

戻り値

ありません。

例外

WSSException

処理中に予測しない例外が発生した場合にスローされます。

注意事項

UsernameToken要素クラスのインスタンスがセキュリティ項目操作クラスに存在しない場合，何も処理をしないで正常終了します。

getRole

クラス名：WSSElementProxy

機能

セキュリティ項目のrole属性値を取得します。

構文

public java.net.URI getRole (
) throws WSSException;

引数

ありません。

戻り値

セキュリティ項目に含まれるrole属性値です。セキュリティ項目にrole属性がない場合はnullを返します。

例外

ありません。

setRole

クラス名：WSSElementProxy

機能

セキュリティ項目のrole属性値を設定します。

構文

public void setRole (
     java.net.URI a_Role
) throws WSSException;

引数

表5‒8　setRoleメソッドの引数

仮引数名 | 名称 | in/out | 説明
a_Role | role属性値 | in | セキュリティ項目操作クラスに設定するrole属性値を指定します。

戻り値

ありません。

例外

ありません。

5.5　WSSConstantsインタフェース

定数定義インタフェースです。このインタフェースは，JAX-WS機能で開発したWebサービスクライアントおよびWebサービスに対して使用できます。

インタフェース定義

public interface WSSConstants

パッケージ名

com.cosminexus.wss.element

5.5.1　WSS_SEND_ELEMENTPROXYプロパティ

Application ServerのJAX-WS機能のメッセージコンテキストのプロパティです。このプロパティは，送信するSOAPメッセージのセキュリティヘッダにUsernameToken要素を設定する場合に必要です。このプロパティをキーにして，JAX-WS機能のメッセージコンテキストにcom.cosminexus.wss.element.WSSElementProxyクラスのオブジェクトを設定します。

注意事項

次の場合は，Webサービスセキュリティ機能定義ファイルに設定した内容に従って，セキュリティ項目を設定します。

WSS_SEND_ELEMENTPROXYプロパティを使用して，セキュリティ項目操作クラス以外のインスタンスをメッセージコンテキストに設定した場合

メッセージコンテキストに設定したセキュリティ項目操作クラスのインスタンスに，UsernameToken要素クラスのインスタンスを設定しないでWebサービスを呼び出した場合

Webサービスセキュリティ機能定義ファイル中のリクエストメッセージ送信時の設定が省略されていると，送信時にWebサービスセキュリティ機能は適用されません。この場合，メッセージコンテキストにセキュリティ項目操作クラスが提供するメソッドを設定しても，SOAPメッセージにセキュリティ項目は設定されません。

5.5.2　WSS_RECV_ELEMENTPROXYプロパティ

Application ServerのJAX-WS機能のメッセージコンテキストのプロパティです。このプロパティは，受信するSOAPメッセージのセキュリティヘッダからUsernameToken要素を取得する場合に必要です。このプロパティをキーにして，JAX-WS機能のメッセージコンテキストからjava.util.List<WSSElementProxy>クラスのオブジェクトを取得します。

注意事項

WSS_RECV_ELEMENTPROXYプロパティを使用して取得した値は変更できません。

WSS_RECV_ELEMENTPROXYプロパティを使用してメッセージコンテキストから取得したセキュリティ項目は，Webサービスセキュリティ機能によって処理されます。

java.util.List<WSSElementProxy>クラスから取得したセキュリティ項目操作クラスの順序は，リクエストメッセージに含まれるセキュリティ項目の順序と異なる場合があります。

受信したリクエストメッセージにUsernameToken要素が含まれていない場合，WSS_RECV_ELEMENTPROXYプロパティを参照するとnullを返します。

5.6　WSSUsernameTokenクラス（UsernameToken要素の操作）

UsernameToken要素の操作クラスです。

クラス定義

public final class WSSUsernameToken extends
     com.cosminexus.wss.element.WSSElementBase

パッケージ名

com.cosminexus.wss.element

WSSUsernameTokenクラスのメソッドを次の表に示します。

表5‒9　WSSUsernameTokenクラスのメソッド一覧

メソッド名称 | 説明
コンストラクタ | UsernameToken要素クラスのコンストラクタです。
getUsername | ユーザー名を取得します。
setUsername | ユーザー名を設定します。
getPassword | パスワードを取得します。
setPassword | パスワードを設定します。
getId | UsernameToken要素のId属性を取得します。
setId | UsernameToken要素のId属性を設定します。
getPasswordType | パスワード種別を取得します。
setPasswordType | パスワード種別を設定します。
getNonce | Nonce属性を取得します。
getCreated | Created属性を取得します。

注意事項

セキュリティ項目操作クラスのインスタンスを，セキュリティ項目操作クラスのファクトリクラスのnewWSSElementProxyメソッドによって生成した場合，このクラスのメソッドで指定した内容でUsernameToken要素を生成します。ただし，Webサービスセキュリティ機能定義ファイルに，呼び出すサービスメソッドに対応するSenderPortConfig要素，RoleConfig要素の指定がない場合はUsernameToken要素を生成しません。

セキュリティ項目操作クラスのインスタンスを，セキュリティ項目操作クラスのファクトリクラスのgetWSSElementProxyメソッドによって生成した場合，このクラスの名称がsetで始まるメソッドで値を設定しても，UsernameToken要素は生成しません。

Webサービスセキュリティ機能定義ファイルにUsernameToken要素を定義している場合，このメソッドが生成したUsernameToken要素とは別に，複数のUsernameToken要素を生成します。

コンストラクタ

機能

UsernameToken要素クラスのコンストラクタです。

構文

public WSSUsernameToken (
     java.lang.String a_Username
) throws WSSException;

引数

表5‒10　コンストラクタの引数

仮引数名 | 名称 | in/out | 説明
a_Username | ユーザー名 | in | ユーザー名を示す文字列を指定します。

戻り値

UsernameToken要素クラスのインスタンスです。

例外

WSSException

引数に空文字""またはnullが指定されました。

注意事項

このクラスが生成される際のUsernameToken要素の初期値を次に示します。

表5‒11　UsernameToken要素の初期値

クラスの要素 | 初期値1 ※1 | 初期値２ ※2
Username | コンストラクタの引数で指定したユーザー名 | UsernameToken要素のユーザー名
Password | null | UsernameToken要素のパスワード
PasswordType | WSSUsernameToken.PasswordType.TEXT | WSSUsernameToken.PasswordType.TEXT または WSSUsernameToken.PasswordType.DIGEST
Id | null | UsernameToken要素のId属性
Nonce | null | UsernameToken要素のNonce属性
Created | null | UsernameToken要素のCreated属性

注※1

コンストラクタを使用した場合

注※2

このクラスをセキュリティ項目操作クラスのgetWSSUsernameTokenメソッドで生成した場合

引数にnullを設定した場合，WSSException例外が発生します。

引数に空文字""を設定した場合，WSSException例外が発生します。

引数に一つ以上の空白文字を設定した場合，ユーザー名の情報は一つ以上の空白文字に置き換えられます。

getUsername

クラス名：WSSUsernameToken

機能

UsernameToken要素のユーザー名を取得します。

構文

public java.lang.String getUsername (
);

引数

ありません。

戻り値

UsernameToken要素のユーザー名です。

例外

ありません。

setUsername

クラス名：WSSUsernameToken

機能

UsernameToken要素のユーザー名を設定します。

構文

public void setUsername (
     java.lang.String a_Username
) throws WSSException;

引数

表5‒12　setUsernameメソッドの引数

仮引数名 | 名称 | in/out | 説明
a_Username | ユーザー名 | in | ユーザー名を示す文字列を指定します。

戻り値

ありません。

例外

WSSException

　引数に空文字""が指定されました。

注意事項

引数にnullを設定した場合，このクラスが保持するユーザー名の情報は更新しません。

引数に一つ以上の空白文字を設定した場合，このクラスが保持するユーザー名の情報は一つ以上の空白文字に置き換えられます。

getPassword

クラス名：WSSUsernameToken

機能

UsernameToken要素のパスワードを取得します。

構文

public char[] getPassword (
);

引数

ありません。

戻り値

UsernameToken要素のパスワードです。UsernameToken要素にパスワードがない場合はnullを返します。

例外

ありません。

注意事項

セキュリティ項目操作クラスのインスタンスを，セキュリティ項目操作クラスのファクトリクラスのnewWSSElementProxyメソッドによって生成した際，UsernameToken要素内にPassword要素が存在しない場合はnullを返します。ただし，すでにsetPasswordメソッドでパスワードを設定している場合はその値を返します。

受信メッセージのセキュリティ項目の，UsernameToken要素内のPassword要素が空要素の場合はnullを返します。

セキュリティ項目操作クラスのインスタンスを，セキュリティ項目操作クラスのファクトリクラスのgetWSSElementProxyメソッドによって生成した際，受信メッセージ内のPassword要素の種別が平文（SOAPメッセージのPasswordText要素）の場合は平文のパスワードを返します。Password要素の種別がダイジェスト（SOAPメッセージのPasswordDigest要素）の場合はダイジェスト値をそのまま返します。

setPassword

クラス名：WSSUsernameToken

機能

UsernameToken要素のパスワードを設定します。

構文

public void setPassword (
     char[] a_Password
);

引数

表5‒13　setPasswordメソッドの引数

仮引数名 | 名称 | in/out | 説明
a_Password | パスワード | in | パスワードを指定します。

戻り値

ありません。

例外

ありません。

注意事項

引数にnullまたは空文字""を設定した場合，このクラスに設定したパスワードの情報は更新されません。

引数に空白文字を設定した場合，このクラスに設定したパスワードの情報は空白文字に置き換えられます。

getId

クラス名：WSSUsernameToken

機能

UsernameToken要素のId属性を取得します。

構文

public java.lang.String getId (
);

引数

ありません。

戻り値

UsernameToken要素のId属性値を示す文字列です。UsernameToken要素にId属性がない場合はnullを返します。

例外

ありません。

注意事項

このメソッドで取得するのは，UsernameToken要素のId属性です。

セキュリティ項目操作クラスのインスタンスを，セキュリティ項目操作クラスのファクトリクラスのnewWSSElementProxyメソッドによって生成した場合はnullを返します。ただし，すでにsetIdメソッドでIdを設定している場合はその値を返します。

setId

クラス名：WSSUsernameToken

機能

UsernameToken要素のId属性を設定します。

構文

public void setId (
     java.lang.String a_Id
);

引数

表5‒14　setIdメソッドの引数

仮引数名 | 名称 | in/out | 説明
a_Id | Id | in | Id属性を示す文字列を指定します。

戻り値

ありません。

例外

ありません。

注意事項

このメソッドで設定したId属性値はUsernameToken要素のId属性に設定されます。ただし，ほかの要素のId属性値と重複しているかどうかはチェックしません。

getPasswordType

クラス名：WSSUsernameToken

機能

UsernameToken要素のパスワード種別を取得します。

構文

public WSSUsernameToken.PasswordType getPasswordType (
);

引数

ありません。

戻り値

UsernameToken要素のパスワード種別です。UsernameToken要素にパスワードがない場合は，WSSUsernameToken.PasswordType.TEXTを返します。

表5‒15　WSSUsernameToken.PasswordTypeクラスの列挙値

列挙値 | 意味
WSSUsernameToken.PasswordType.TEXT | 平文形式のパスワードです。 （http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-username-token-profile-1.0#PasswordText形式）
WSSUsernameToken.PasswordType.DIGEST | ダイジェスト形式のパスワードです。 （http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-username-token-profile-1.0#PasswordDigest形式）

例外

ありません。

注意事項

セキュリティ項目操作クラスのインスタンスを，セキュリティ項目操作クラスのファクトリクラスのnewWSSElementProxyメソッドによって生成した場合，WSSUsernameToken.PasswordType.TEXTを返します。ただし，すでにsetPasswordTypeメソッドでパスワード種別を設定している場合は，その値を返します。

setPasswordType

クラス名：WSSUsernameToken

機能

UsernameToken要素のパスワード種別を設定します。

構文

public void setPasswordType (
     WSSUsernameToken.PasswordType a_PasswordType
);

引数

表5‒16　setPasswordTypeメソッドの引数

仮引数名 | 名称 | in/out | 説明
a_PasswordType | パスワード 種別 | in | パスワード種別を示す， WSSUsernameToken.PasswordTypeの列挙値を指定します。

戻り値

ありません。

例外

ありません。

getNonce

クラス名：WSSUsernameToken

機能

UsernameToken要素のNonce属性の内容を取得します。

構文

public java.lang.String getNonce (
);

引数

ありません。

戻り値

UsernameToken要素のNonce属性値です。UsernameToken要素にNonce属性がない場合はnullを返します。

例外

ありません。

注意事項

セキュリティ項目操作クラスのインスタンスを，セキュリティ項目操作クラスのファクトリクラスのnewWSSElementProxyメソッドによって生成した際，UsernameToken要素内にNonce属性がない場合はnullを返します。

getCreated

クラス名：WSSUsernameToken

機能

UsernameToken要素のCreated属性の内容を取得します。

構文

public java.lang.String getCreated (
);

引数

ありません。

戻り値

UsernameToken要素のCreated属性文字列です。UsernameToken要素にCreated属性がない場合はnullを返します。

例外

ありません。

注意事項

セキュリティ項目操作クラスのインスタンスを，セキュリティ項目操作クラスのファクトリクラスのnewWSSElementProxyメソッドによって生成した際，UsernameToken要素内にCreated属性がない場合はnullを返します。

5.7　WSSUsernameToken.PasswordTypeインタフェース（PasswordType要素の操作）

PasswordType要素の操作クラスです。

クラス定義

public static final class WSSUsernameToken.PassswordType

パッケージ名

com.cosminexus.wss.element

機能

WSSUsernameTokenクラスのgetPasswordType()，setPasswordType()メソッドの戻り値および引数で指定する，PasswordType要素を示す列挙定数です。次にパスワード種別を示します。

TEXT

パスワード種別が平文形式（http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText）であることを示します。

DIGEST

パスワード種別がダイジェスト形式（http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-username-token-profile-1.0#PasswordDigest）であることを示します。

5.8　 WSSExceptionクラス（例外情報の取得）

Webサービスセキュリティ機能が提供するAPIで発生する例外クラスです。

クラス定義

public final class WSSException extends
     java.lang.Exception

パッケージ名

com.cosminexus.wss.faults

WSSExceptionクラスのメソッドを次の表に示します。

表5‒17　WSSExceptionクラスのメソッド一覧

メソッド名称 | 説明
getMessage | 詳細メッセージを取得します。

getMessage

クラス名：WSSException

機能

例外の詳細メッセージを取得します。

構文

public java.lang.String getMessage (
);

引数

ありません。

戻り値

詳細メッセージを示す文字列です。

6　障害対策

この章では，Webサービスセキュリティ機能の実行，および運用中の障害対策のために出力される情報について説明します。

6.1　トレースを収集する

Webサービスセキュリティ機能では，障害対策に必要な情報をトレースとして出力します。トレースは障害の発生個所の割り出しや原因の調査などに利用します。Webサービスセキュリティ機能で出力するトレースの種類を次に示します。

表6‒1　Webサービスセキュリティ機能が出力するトレースの種類

トレースの種類 | 説明
サーバトレース | Webサービスセキュリティ機能のサーバ処理部分が出力します。
クライアントトレース | Webサービスセキュリティ機能のクライアント処理部分が出力します。
コマンドトレース | Webサービスセキュリティ機能のコマンドラインインタフェースが出力します。

6.1.1　トレースの内容

サーバトレース，クライアントトレース，およびコマンドトレースが出力するトレースの内容と出力例を次に示します。

(1)　出力内容

表6‒2　トレースの出力内容

項目 | 内容
日付 | 出力時の日付（yyyy/mm/dd形式）が出力されます。
時刻 | 出力時の時刻（hh:mm:ss.sss形式）が出力されます。
アプリケーション名 | 「wss」が出力されます。
プロセス識別子 | プロセス識別子（16進数）が出力されます。
スレッド識別子 | スレッド識別子（16進数）が出力されます。
メッセージID | メッセージIDが出力されます。メッセージIDを持たないものは出力されません。

メッセージ種別

OC：メソッドの入口を表します。

OD：メソッドの出口を表します。

EC：例外をキャッチしたことを表します。

ER：エラーメッセージを表示したことを表します。

FB：ほかのプログラムの処理の呼び出しを表します。

FE：呼び出したほかのプログラムの処理の終了を表します。

PB：Webサービスセキュリティ機能が提供するAPIの開始を表します。

PE：Webサービスセキュリティ機能が提供するAPIの終了を表します。

メッセージテキスト | 実行時の情報を示すメッセージが出力されます。

(2)　出力例

図6‒1　トレースの出力例

[picture]

6.1.2　トレースの出力先

トレースの出力先を次に示します。

表6‒3　トレースの出力先

トレースの種類 | 出力先
サーバトレース | SOAP通信基盤またはJAX-WSエンジンのサーバ側で出力するトレースと同じファイル上に出力されます。 JAX-WSエンジンの場合，JAX-WS機能の稼働ログにメッセージが，例外ログにスタックトレースが，保守ログに保守情報が出力されます。
クライアントトレース | SOAP通信基盤またはJAX-WSエンジンのクライアント側で出力するトレースと同じファイル上に出力されます。 JAX-WSエンジンの場合，JAX-WS機能の稼働ログにメッセージが，例外ログにスタックトレースが，保守ログに保守情報が出力されます。

コマンドトレース

コマンドトレースは，＜Application Serverのインストールディレクトリ＞¥CC¥client¥logs¥system¥ejbcl¥WSに，次のファイル名で出力されます。

共通鍵生成コマンドの場合

CWSSCreateSecretKey-n.log (n:1〜2)

定義ファイル構文チェックコマンドの場合

CWSSConfCheck-n.log (n:1〜2)

注

SOAP通信基盤のトレース出力先とモードについては，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」を参照してください。JAX-WSエンジンのトレース出力先と動作定義ファイルについてはマニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。

6.1.3　トレースの重要度

トレースの重要度を変更することで，出力するトレースの情報量を変更できます。出力する情報量を多くすることで，障害発生の要因を特定しやすくなります。ただし，出力する情報量を多くすると，プログラムの処理性能への影響が大きくなります。

トレースの重要度には次のレベルがあります。

ERROR

WARN

INFO

DEBUG

Webサービスセキュリティ機能で出力するトレースの重要度は，SOAP通信基盤またはJAX-WS機能の設定に従います。JAX-WS機能の場合の詳細を次の表に示します。

表6‒4　JAX-WS機能を利用している場合のトレースの重要度

トレースの種類 | 出力内容 | 有効となる重要度
サーバトレース | メッセージ | J2EEサーバ上で動作させた場合のJAX-WS機能の稼働ログの重要度
スタックトレース | J2EEサーバ上で動作させた場合のJAX-WS機能の例外ログの重要度
保守情報 | J2EEサーバ上で動作させた場合のJAX-WS機能の保守ログの重要度
クライアントトレース | メッセージ | J2EEサーバ上またはコマンドインタフェースで動作させた場合のJAX-WS機能の稼働ログの重要度
スタックトレース | J2EEサーバ上またはコマンドインタフェースで動作させた場合のJAX-WS機能の例外ログの重要度
保守情報 | J2EEサーバ上またはコマンドインタフェースで動作させた場合のJAX-WS機能の保守ログの重要度

JAX-WS機能のログの重要度の詳細については，マニュアル「アプリケーションサーバ Webサービス開発ガイド」を参照してください。また，SOAP通信基盤を利用している場合は，マニュアル「アプリケーションサーバ SOAPアプリケーション開発の手引」を参照してください。

付録

付録A　標準仕様への対応

Webサービスセキュリティ機能は，次の仕様に従っています。

WS-Security仕様

Web Services Security: SOAP Message Security 1.1

XML署名標準仕様（2002/2/12　W3C勧告）

XML暗号標準仕様（2002/12/10　W3C勧告）

WS-Policy 1.5仕様

Web Services Policy 1.5 - Framework

Web Services Policy 1.5 - Attachment

WS-SecurityPolicy 1.3仕様

WS-Security仕様およびWS-SecurityPolicy 1.3仕様の詳細については，OASISのホームページを参照してください。また，XML署名およびXML暗号の標準仕様，およびWS-Policy 1.5仕様の詳細については，W3Cのホームページを参照してください。ここでは，各仕様のうち，Webサービスセキュリティ機能がサポートしている範囲を説明します。

注意事項

Web Services Security: SOAP Message Security 1.1 以外の仕様を実装した他社製品とは接続できない可能性があります。

付録A.1　WS-Security仕様のサポート範囲

Webサービスセキュリティ機能がサポートするWS-Security仕様の範囲を次の表に示します。

表A‒1　WS-Security仕様のサポート範囲

項番 | WS-Security仕様 | 推奨 レベル | サポートの有無
大分類 | 中分類 | 小分類
1 | SecurityToken | UsernameToken | PasswordText | 推奨 | ○
2 | PasswordDigest | 推奨 | ○
3 | Nonce | 推奨 | ○
4 | Created | 任意 | ○
5 | BinarySecurityToken | X.509v3 | 任意 | ○
6 | X509PKIPathv1 | 任意 | ×
7 | PKCS7 | 任意 | ×
8 | Kerberos5TGT | 任意 | ×
9 | Kerberos5ST | 任意 | ×
10 | SAML Assertion | − | 任意 | ×
11 | XrML | − | 任意 | ×
12 | XCBF | − | 任意 | ×
13 | EncryptedData Token | − | 任意 | ×
14 | TokenReference | Direct Reference | − | 推奨 | ○
15 | KeyIdentifiers | − | 推奨 | ○
16 | Embedded Reference | − | 任意 | ×
17 | KeyNames | − | 任意 | ×
18 | ds:KeyInfo | − | 推奨 | ○
19 | Encrypted Key Reference | − | 任意 | ×
20 | Signature | Algorithms | − | 推奨 | ○
21 | Signing Messages | − | 必須 | ○
22 | Signing Tokens | − | 任意 | △※
23 | Signature Validation | − | 必須 | ○
24 | Signature Confirmation | − | 任意 | ×
25 | Encryption | xenc:ReferenceList | − | 推奨 | ×
26 | xenc:EncryptedKey | − | 推奨 | ○
27 | Encrypted Header | − | 任意 | ×
28 | Processing Rules | − | 必須 | ○
29 | Security TimeStamp | − | − | 推奨 | ○
30 | Error Handling | − | − | 推奨 | ○

（凡例）

○：サポートあり

×：サポートなし

−：該当しない

注※

SecurityToken要素を直接署名できますが，STR Transformを非サポートのため，SecurityTokenReference要素を署名できません。

付録A.2　XML署名標準仕様のサポート範囲

Webサービスセキュリティ機能がサポートするXML署名標準仕様の範囲を次の表に示します。

表A‒2　XML署名標準仕様のサポート範囲

項番 | 役割 | 項目 | 推奨レベル | サポートの 有無
1 | ダイジェスト値計算 | SHA1 | 必須 | ○
2 | 符号化 | base64（エンコード） | 必須 | ○
3 | 署名値計算 | HMAC-SHA1 | 必須 | ×
4 | DSAwithSHA1 | 必須 | ○
5 | RSAwithSHA1 | 推奨 | ○
6 | 正規化処理 | Canonical XML（コメント付き） | 推奨 | ○
7 | Canonical XML（コメントなし） | 必須 | ○
8 | Exclusive Canonical XML（コメント付き） | 任意 | ○
9 | Exclusive Canonical XML（コメントなし） | 任意※1 | ○
10 | 変換処理 | Canonical XML（コメント付き） | 推奨 | ○
11 | Canonical XML（コメントなし） | 必須 | ○
12 | Exclusive Canonical XML（コメント付き） | 任意 | ○
13 | Exclusive Canonical XML（コメントなし） | 任意※1 | ○
14 | base64（変換アルゴリズム） | 必須 | ×
15 | XSLT | 任意 | ×
16 | XPath | 推奨 | ×
17 | XPath Filter 2.0 | 任意 | ×
18 | Enveloped Signature | 必須 | ×
19 | STR Dereference※2 | 推奨 | ×

（凡例）

○：サポートあり

×：サポートなし

注※1

WS-Security仕様では，サポートを推奨しています。

注※2

XML署名標準仕様で規定されている変換処理ではなく，WS-Security仕様で規定されているものです。

付録A.3　XML暗号標準仕様のサポート範囲

Webサービスセキュリティ機能がサポートするXML暗号標準仕様の範囲を次の表に示します。

表A‒3　XML暗号標準仕様のサポート範囲

項番 | 項目 | 推奨レベル | サポートの有無
1 | Triple DES | 必須 | ○
2 | AES-128 | 必須 | ○
3 | AES-192 | 任意 | ×
4 | AES-256 | 必須 | ×
5 | RSA-v1.5 | 必須 | ×
6 | RSA-OAEP | 必須 | ×
7 | Diffie-Hellman Key Values | 任意 | ×
8 | Diffie-Hellman Key Agreement | 任意 | ×
9 | TRIPLEDES鍵ラッピング | 必須 | ○
10 | AES-128鍵ラッピング（128bit鍵） | 必須 | ○
11 | AES-192鍵ラッピング | 任意 | ×
12 | AES-256鍵ラッピング（256bit鍵） | 必須 | ×
13 | XML Decryption Transformation | 推奨※ | ×

（凡例）

○：サポートあり

×：サポートなし

注※

WS-Security仕様で規定されている推奨レベルです。

付録A.4　WS-Policy 1.5仕様のサポート範囲

ここでは，Webサービスセキュリティ機能がサポートするWS-Policy 1.5仕様の範囲を説明します。

(1)　WS-Policy 1.5 - Framework仕様のサポート範囲

Webサービスセキュリティ機能がサポートするWS-Policy 1.5 - Framework仕様の範囲を次の表に示します。

表A‒4　WS-Policy 1.5 - Framework仕様のサポート範囲

該当個所※ | 大分類 | 中分類 | 小分類 | 要素と属性 （XPath形式） | サポートの有無
4.1 | Policy Expression | Normal Form Policy Expression | − | − | ○
4.2 | Policy Identification | − | /wsp:Policy/@Name | ○
/wsp:Policy/@wsu:Id | ×
/wsp:Policy/@xsd:ID | ×
4.3.1 | Compact Policy Expression | Optional Policy Assertions | − | ×
4.3.2 | Policy Assertion Nesting | − | ○
4.3.3 | Policy Operators | − | ×
4.3.4 | Policy References | /wsp:PolicyReference | ○
/wsp:PolicyReference/@URI | ○
/wsp:PolicyReference/@Digest | ×
/wsp:PolicyReference/@DigestAlgorithm | ×
4.3.5 | Policy Inclusion | − | ×
4.3.6 | Normalization | − | ×
4.4 | Ignorable Policy Assertions | − | − | ×
4.5 | Policy Intersection | − | − | ×
4.6 | Use of IRIs in Policy Expressions | − | − | ×

（凡例）

○：サポートあり

×：サポートなし

−：該当する分類，要素，または属性なし

注※

WS-Policy 1.5 - Framework仕様の該当個所（章節項）を示します。

(2)　WS-Policy 1.5 - Attachment仕様のサポート範囲

Webサービスセキュリティ機能がサポートするWS-Policy 1.5 - Attachment仕様の範囲を次の表に示します。

表A‒5　WS-Policy 1.5 - Attachment仕様のサポート範囲

該当個所※ | 大分類 | 中分類 | 小分類または内容 | サポートの有無
3.1 | Policy Attachment | Effective Policy | − | ○
3.2 | Policy Attachment Mechanisms | − | ○
3.3 | XML Element Attachment | − | ×
3.4 | External Policy Attachment | − | ×
4.1 | Attaching Policies Using WSDL 1.1 | Calculating Effective Policy in WSDL 1.1 | wsdl:required="true" | ×
4.1.1 | Service Policy Subject | ×
4.1.2 | Endpoint Policy Subject | ○
4.1.3 | Operation Policy Subject | ×
4.1.4 | Message Policy Subject | ○
5 | WS-Policy Attachment for WSDL 2.0 | − | − | ×
6 | Attaching Policies Using UDDI | − | − | ×

（凡例）

○：サポートあり

×：サポートなし

−：該当する分類または内容なし

注※

WS-Policy 1.5 - Attachment仕様の該当個所（章節項）を示します。

付録A.5　WS-SecurityPolicy 1.3仕様のサポート範囲

ここでは，Webサービスセキュリティ機能がサポートするWS-SecurityPolicy 1.3仕様の範囲を説明します。

(1)　Protection Assertionsのサポート範囲

WS-SecurityPolicy 1.3仕様の中の Protection Assertionsのうち，Webサービスセキュリティ機能がサポートする範囲を次の表に示します。

表A‒6　Protection Assertionsのサポート範囲

該当個所※ | 大分類 | 小分類 | アサーション （XPath形式） | サポートの有無
4.1.1 | Integrity Assertions | SignedParts Assertion | /sp:SignedParts | ○
/sp:SignedParts/sp:Body | ○
/sp:SignedParts/sp:header | ×
/sp:SignedParts/sp:Attachments | ×
4.1.2 | SignedElements Assertion | /sp:SignedElements | ×
4.2.1 | Confidentiality Assertions | EncryptedParts Assertion | /sp:EncryptedParts | ○
/sp:EncryptedParts/sp:Body | ○
/sp:EncryptedParts/sp:Header | ×
/sp:EncryptedParts/sp:Attachments | ×
4.2.2 | EncryptedElements Assertion | /sp:EncryptedElements | ×
4.2.3 | ContentEncryptedElements Assertion | /sp:ContentEncryptedElements | ×
4.3.1 | Required Elements Assertion | RequiredElements Assertion | /sp:RequiredElements | ×
4.3.2 | RequiredParts Assertion | /sp:RequiredParts | ×

（凡例）

○：サポートあり

×：サポートなし

注※

WS-SecurityPolicy 1.3仕様の該当個所（章節項）を示します。

(2)　Token Assertionsのサポート範囲

WS-SecurityPolicy 1.3仕様の中の Token Assertionsのうち，Webサービスセキュリティ機能がサポートする範囲を次の表に示します。

表A‒7　Token Assertionsのサポート範囲

該当個所※1 | 大分類 | 小分類 | アサーション （XPath形式） | サポートの有無
5.1 | Token Inclusion | − | @sp:IncludeToken | ○
5.2.1 | Token Issuer and Required Claims | Token Issuer | sp:Issuer | ×
5.2.2 | Token Issuer Name | sp:IssuerName | ×
5.2.3 | Required Claims | wst:Claims | ×
5.3.1 | Token Properties | [Derived Keys] Property | sp:RequireDerivedKeys | ×
5.3.2 | [Explicit Derived Keys] Property | sp:RequireExplicitDerivedKeys | ×
5.3.3 | [Implied Derived Keys] Property | sp:RequireImpliedDerivedKeys | ×
5.4.1 | Token Assertion Types | UsernameToken Assertion | /sp:UsernameToken | ○
/sp:UsernameToken/@sp:IncludeToken | ○※2
/sp:UsernameToken/sp:Issuer | ×
/sp:UsernameToken/sp:IssuerName | ×
/sp:UsernameToken/wst:Claims | ×
/sp:UsernameToken/wsp:Policy/sp:NoPassword | ×
/sp:UsernameToken/wsp:Policy/sp:HashPassword | ○
/sp13:UsernameToken/wsp:Policy/sp13:Created | ×
/sp13:UsernameToken/wsp:Policy/sp13:Nonce | ×
/sp:UsernameToken/wsp:Policy/sp:RequireDerivedKeys | ×
/sp:UsernameToken/wsp:Policy/sp:RequireExplicitDerivedKeys | ×
/sp:UsernameToken/wsp:Policy/sp:RequireImpliedDerivedKeys | ×
/sp:UsernameToken/wsp:Policy/sp:WssUsernameToken10 | ○
/sp:UsernameToken/wsp:Policy/sp:WssUsernameToken11 | ×
5.4.2 | Token Assertion Types | IssuedToken Assertion | /sp:IssuedToken | ×
5.4.3 | Token Assertion Types | X509Token Assertion | /sp:X509Token | ○
/sp:X509Token/@sp:IncludeToken | ○※3
/sp:X509Token/sp:Issuer | ×
/sp:X509Token/sp:IssuerName | ×
/sp:X509Token/wst:Claims | ×
/sp:X509Token/wsp:Policy/sp:RequireDerivedKeys | ×
/sp:X509Token/wsp:Policy/sp:RequireExplicitDerivedKeys | ×
/sp:X509Token/wsp:Policy/sp:RequireImpliedDerivedKeys | ×
/sp:X509Token/wsp:Policy/sp:RequireKeyIdentifierReference | ×
/sp:X509Token/wsp:Policy/sp:RequireIssuerSerialReference | ×
/sp:X509Token/wsp:Policy/sp:RequireEmbeddedTokenReference | ×
/sp:X509Token/wsp:Policy/sp:RequireThumbprintReference | ×
/sp:X509Token/wsp:Policy/sp:WssX509V3Token10 | ○
/sp:X509Token/wsp:Policy/sp:WssX509Pkcs7Token10 | ×
/sp:X509Token/wsp:Policy/sp:WssX509PkiPathV1Token10 | ×
/sp:X509Token/wsp:Policy/sp:WssX509V1Token11 | ×
/sp:X509Token/wsp:Policy/sp:WssX509V3Token11 | ×
/sp:X509Token/wsp:Policy/sp:WssX509Pkcs7Token11 | ×
/sp:X509Token/wsp:Policy/sp:WssX509PkiPathV1Token11 | ×
5.4.4 | Token Assertion Types | KerberosToken Assertion | /sp:KerberosToken | ×
5.4.5 | Token Assertion Types | SpnegoContextToken Assertion | /sp:SpnegoContextToken | ×
5.4.6 | Token Assertion Types | SecurityContextToken Assertion | /sp:SecurityContextToken | ○
/sp:SecurityContextToken/@sp:IncludeToken | ○※4
/sp:SecurityContextToken/sp:Issuer | ×
/sp:SecurityContextToken/sp:IssuerName | ○
/sp:SecurityContextToken/wst:Claims | ×
/sp:SecurityContextToken/wsp:Policy/sp:RequireDerivedKeys | ×
/sp:SecurityContextToken/wsp:Policy/sp:RequireExplicitDerivedKeys | ×
/sp:SecurityContextToken/wsp:Policy/sp:RequireImpliedDerivedKeys | ×
/sp:SecurityContextToken/wsp:Policy/sp:RequireExternalUriReference | ×
/sp:SecurityContextToken/wsp:Policy/sp:SC13SecurityContextToken | ×
5.4.7 | Token Assertion Types | SecureConversationToken Assertion | /sp:SecureConversationToken | ×
5.4.8 | Token Assertion Types | SamlToken Assertion | /sp:SamlToken | ×
5.4.9 | Token Assertion Types | RelToken Assertion | /sp:RelToken | ×
5.4.10 | Token Assertion Types | HttpsToken Assertion | /sp:HttpsToken | ×
5.4.11 | Token Assertion Types | KeyValueToken Assertion | /sp:KeyValueToken | ×

（凡例）

○：サポートあり

×：サポートなし

−：該当する分類または内容なし

注※1

WS-SecurityPolicy 1.3仕様の該当個所（章節項）を示します。

注※2

http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipientだけをサポートしています。

注※3

sp:InitiatorTokenをネストしたsp:X509Tokenの場合は，http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipientだけをサポートしています。

sp:RecipientTokenをネストしたsp:X509Tokenの場合は，http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToInitiatorだけをサポートしています。

注※4

http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/ Neverだけをサポートしています。

(3)　Security Binding Assertionsのサポート範囲

WS-SecurityPolicy 1.3仕様の中のSecurity Binding Assertionsのうち，Webサービスセキュリティ機能がサポートする範囲を次の表に示します。

表A‒8　Security Binding Assertionsのサポート範囲

該当個所※ | 分類 | アサーション （XPath形式） | サポートの有無
7.1 | AlgorithmSuite Assertion | /sp:AlgorithmSuite | ○
/sp:AlgorithmSuite/wsp:Policy/sp:Basic128 | ○
/sp:AlgorithmSuite/wsp:Policy/sp:Basic128以外 | ×
7.2 | Layout Assertion | /sp:Layout | ○
/sp:Layout/wsp:Policy/sp:Strict | ×
/sp:Layout/wsp:Policy/sp:Lax | ○
/sp:Layout/wsp:Policy/sp:LaxTsFirst | ×
/sp:Layout/wsp:Policy/sp:LaxTsLast | ×
7.3 | TransportBinding Assertion | /sp:TransportBinding | ×
7.4 | SymmetricBinding Assertion | /sp:SymmetricBinding | ○
/sp:SymmetricBinding/wsp:Policy/sp:EncryptionToken | ×
/sp:SymmetricBinding/wsp:Policy/sp:SignatureToken | ×
/sp:SymmetricBinding/wsp:Policy/sp:ProtectionToken | ○
/sp:SymmetricBinding/wsp:Policy/sp:AlgorithmSuite | ○
/sp:SymmetricBinding/wsp:Policy/sp:Layout | ○
/sp:SymmetricBinding/wsp:Policy/sp:IncludeTimestamp | ×
/sp:SymmetricBinding/wsp:Policy/sp:EncryptBeforeSigning | ×
/sp:SymmetricBinding/wsp:Policy/sp:EncryptSignature | ×
/sp:SymmetricBinding/wsp:Policy/sp:ProtectTokens | ×
/sp:SymmetricBinding/wsp:Policy/sp:OnlySignEntireHeadersAndBody | ×
7.5 | AsymmetricBinding Assertion | /sp:AsymmetricBinding | ○
/sp:AsymmetricBinding/wsp:Policy/sp:InitiatorToken | ○
/sp:AsymmetricBinding/wsp:Policy/sp:InitiatorSignatureToken | ×
/sp:AsymmetricBinding/wsp:Policy/sp:InitiatorEncryptionToken | ×
/sp:AsymmetricBinding/wsp:Policy/sp:RecipientToken | ○
/sp:AsymmetricBinding/wsp:Policy/sp:RecipientSignatureToken | ×
/sp:AsymmetricBinding/wsp:Policy/sp:RecipientEncryptionToken | ×
/sp:AsymmetricBinding/wsp:Policy/sp:AlgorithmSuite | ○
/sp:AsymmetricBinding/wsp:Policy/sp:Layout | ○
/sp:AsymmetricBinding/wsp:Policy/sp:IncludeTimestamp | ×
/sp:AsymmetricBinding/wsp:Policy/sp:EncryptBeforeSigning | ×
/sp:AsymmetricBinding/wsp:Policy/sp:EncryptSignature | ×
/sp:AsymmetricBinding/wsp:Policy/sp:ProtectTokens | ×
/sp:AsymmetricBinding/wsp:Policy/sp:OnlySignEntireHeadersAndBody | ○

（凡例）

○：サポートあり

×：サポートなし

注※

WS-SecurityPolicy 1.3仕様の該当個所（章節）を示します。

(4)　Supporting Tokensのサポート範囲

WS-SecurityPolicy 1.3仕様の中の Supporting Tokensのうち，Webサービスセキュリティ機能がサポートする範囲を次の表に示します。

表A‒9　Supporting Tokensのサポート範囲

該当個所※ | 分類 | アサーション （XPath形式） | サポートの有無
8.1 | SupportingTokens Assertion | /sp:SupportingTokens | ○
/sp:SupportingTokens/wsp:Policy/sp:AlgorithmSuite | ×
/sp:SupportingTokens/wsp:Policy/sp:SignedParts | ×
/sp:SupportingTokens/wsp:Policy/sp:SignedElements | ×
/sp:SupportingTokens/wsp:Policy/sp:EncryptedParts | ×
/sp:SupportingTokens/wsp:Policy/sp:EncryptedElements | ×
8.2 | SignedSupportingTokens Assertion | /sp:SignedSupportingTokens | ×
8.3 | EndorsingSupportingTokens Assertion | /sp:EndorsingSupportingTokens | ×
8.4 | SignedEndorsingSupportingTokens Assertion | /sp:SignedEndorsingSupportingTokens | ×
8.5 | SignedEncryptedSupportingTokens Assertion | sp:SignedEncryptedSupportingTokens | ×
8.6 | EncryptedSupportingTokens Assertion | sp:EncryptedSupportingTokens | ×
8.7 | EndorsingEncryptedSupportingTokens Assertion | sp:EndorsingEncryptedSupportingTokens | ×
8.8 | SignedEndorsingEncryptedSupportingTokens Assertion | sp:SignedEndorsingEncryptedSupportingTokens | ×

（凡例）

○：サポートあり

×：サポートなし

注※

WS-SecurityPolicy 1.3仕様の該当個所（章節）を示します。

(5)　WSS:SOAP Message Security Optionsのサポート範囲

WS-SecurityPolicy 1.3仕様の中の WSS:SOAP Message Security Optionsは，Webサービスセキュリティ機能ではサポートしていません。

表A‒10　WSS:SOAP Message Security Optionsのサポート範囲

該当個所※ | 分類 | アサーション （XPath形式） | サポートの有無
9.1 | Wss10 Assertion | /sp:Wss10 | ×
/sp:Wss10/wsp:Policy/sp:MustSupportRefKeyIdentifier | ×
/sp:Wss10/wsp:Policy/sp:MustSupportRefIssuerSerial | ×
/sp:Wss10/wsp:Policy/sp:MustSupportRefExternalURI | ×
/sp:Wss10/wsp:Policy/sp:MustSupportRefEmbeddedToken | ×
9.2 | Wss11 Assertion | /sp:Wss11 | ×
/sp:Wss11/wsp:Policy/sp:MustSupportRefKeyIdentifier | ×
/sp:Wss11/wsp:Policy/sp:MustSupportRefIssuerSerial | ×
/sp:Wss11/wsp:Policy/sp:MustSupportRefExternalURI | ×
/sp:Wss11/wsp:Policy/sp:MustSupportRefEmbeddedToken | ×
/sp:Wss11/wsp:Policy/sp:MustSupportRefThumbprint | ×
/sp:Wss11/wsp:Policy/sp:MustSupportRefEncryptedKey | ×
/sp:Wss11/wsp:Policy/sp:RequireSignatureConfirmation | ×

（凡例）

×：サポートなし

注※

WS-SecurityPolicy 1.3仕様の該当個所（章節）を示します。

(6)　WS-Trust Optionsのサポート範囲

WS-SecurityPolicy 1.3仕様の中の WS-Trust Optionsは，Webサービスセキュリティ機能ではサポートしていません。

表A‒11　WS-Trust Optionsのサポート範囲

該当個所※ | 分類 | アサーション（XPath形式） | サポートの有無
10.1 | Trust13 Assertion | /sp:Trust13 | ×

（凡例）

×：サポートなし

注※

WS-SecurityPolicy 1.3仕様の該当個所（章節）を示します。

付録B　定義ファイルの項目の詳細

Webサービスセキュリティ機能を使用するには，次の二つの定義ファイルを設定します。

Webサービスセキュリティ機能定義ファイル

Webサービスセキュリティ方針定義ファイル

Webサービスセキュリティの各機能で必要な定義ファイルの項目については，「3.1　定義ファイルの設定」を参照してください。

ここでは，各定義ファイルで設定する要素の指定回数や，注意事項などの詳細を説明します。なお，各定義ファイルの要素の構成は次の図のようになっています。

図B‒1　Webサービスセキュリティ機能定義ファイルの要素の構成

[picture]

図B‒2　Webサービスセキュリティ方針定義ファイルの要素の構成

[picture]

付録B.1　Webサービスセキュリティ機能定義ファイルの項目

Webサービスセキュリティ機能定義ファイルは，XMLファイルです。ここでは，Webサービスセキュリティ機能定義ファイルの要素，および要素で指定できる属性とコンテンツ（子要素）について説明します。なお，表中のデータ型は，XML Schemaのデータ型を表しています。

(1)　 SecurityConfig

Webサービスセキュリティ定義ファイルのルート要素です。コンテンツ（子要素）は，次の表の順番で指定する必要があります。

表B‒1　SecurityConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

BindingConfig

Webサービスセキュリティの署名，暗号化機能で使用するトークンの情報を指定します。このコンテンツは署名，暗号化機能使用時は必須です。

−

0

または

1

RequestSenderConfig | リクエストメッセージ送信時の設定を指定します。省略時はリクエストメッセージ送信時にWebサービスセキュリティ機能が実行されません。 | − | 0 または 1
ResponseSenderConfig | レスポンスメッセージ送信時の設定を指定します。省略時はレスポンスメッセージ送信時にWebサービスセキュリティ機能が実行されません。 | − | 0 または 1
RequestReceiverConfig | リクエストメッセージ受信時の設定を指定します。省略時はリクエストメッセージ受信時にWebサービスセキュリティ機能が実行されません。 | − | 0 または1
ResponseReceiverConfig | レスポンスメッセージ受信時の設定を指定します。省略時はレスポンスメッセージ受信時にWebサービスセキュリティ機能が実行されません。 | − | 0 または 1

(2)　 BindingConfig

Webサービスセキュリティの各機能で共通的に使用する情報を指定します。

表B‒2　BindingConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

KeyLocator

鍵の格納場所の情報を指定します。このコンテンツは署名および暗号化機能を使用する場合は必須です。

−

0

または

1

(3)　 KeyLocator

鍵の格納場所の情報を指定します。コンテンツ（子要素）は，次の表の順番で指定する必要があります。

表B‒3　KeyLocator

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

KeyStore

Javaのキーストア形式の鍵の格納場所情報を指定します。このコンテンツは署名および暗号化機能を使用する場合は必須です。

−

0以上

SecretKeyLocationList | 共通鍵の格納場所の情報を指定します。このコンテンツは暗号化機能を使用する場合は必須です。 | − | 0 または 1

(4)　 KeyStore

Javaのキーストア形式の鍵の格納場所情報を指定します。

表B‒4　KeyStore

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Id | セキュリティ定義ファイル中で一意に識別するためのID値を指定します。 | ID | 1
File | キーストアファイルの名称を"ラベル名+拡張子"の形式で指定します。 | String | 1
Type | キーストアのタイプを示す文字列を指定します。 | String | 1
Password | キーストアのパスワードを指定します。 | String | 1

コ

ン

テ

ン

ツ

Certificate

キーストア内のX.509証明書の情報を指定します。このコンテンツは，キーストア内の証明書を利用する場合は必須です。

−

0以上

PrivateKey | キーストア内の非公開鍵の情報を指定します。このコンテンツは，キーストア内の非公開鍵を利用する場合は必須です。 | − | 0以上

(5)　 Certificate

キーストア内の証明書の情報を指定します。コンテンツはありません。

表B‒5　Certificate

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Id | セキュリティ機能定義ファイル中で一意に識別するためのID値を指定します。 | ID | 1
Alias | キーストアファイル中のX.509証明書のエイリアス名を指定します。 | String | 1

(6)　 PrivateKey

キーストア内の非公開鍵の情報を指定します。コンテンツはありません。

表B‒6　PrivateKey

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Id | セキュリティ機能定義ファイル中で一意に識別するためのID値を指定します。 | ID | 1
Alias | キーストアファイル中の秘密鍵のエイリアス名を指定します。 | String | 1
Password | キーストアファイル中の秘密鍵のパスワードを指定します。 | String | 1

(7)　 SecretKeyLocationList

共通鍵の格納場所の情報を指定します。

表B‒7　SecretKeyLocationList

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

SecretKeyFile

共通鍵ファイルの情報を指定します。このコンテンツは暗号化機能使用時は必須です。

−

0以上

(8)　 SecretKeyFile

共通鍵ファイルの情報を指定します。コンテンツはありません。

表B‒8　SecretKeyFile

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Id | セキュリティ定義ファイル中で一意に識別するためのID値を指定します。 | ID | 1
Name | 共通鍵作成コマンドで作成した共通鍵ファイル名称を"ラベル名+拡張子"の形式で指定します。 | String | 1
KeyType | 共通鍵ファイル作成時に指定したアルゴリズム識別子を指定します。 | String | 1
KeyName | 送信する鍵の識別子を指定します。 | String | 1

(9)　 RequestSenderConfig

リクエストメッセージ送信時の設定を指定します。

表B‒9　RequestSenderConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

SenderPortConfig

送信時に，Webサービスセキュリティ機能を適用するSOAPサービスエンドポイントの情報を指定します。

−

1以上

(10)　 SenderPortConfig

送信時に，Webサービスセキュリティ機能を適用する，SOAPサービスまたはWebサービスのエンドポイントの情報を指定します。ResponseSenderConfigの下にSenderPortConfigを指定する場合は，Name属性に"*"を指定してください。

表B‒10　SenderPortConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Name | Webサービスセキュリティ機能を適用するSOAPサービスまたはWebサービスのURLを指定します。ここで指定したエンドポイントへメッセージを送信する際に，このコンテンツ以下で指定するWebサービスセキュリティ機能の設定が適用されます。"*"を指定すると，エンドポイントの指定に関係なくWebサービスセキュリティ機能の設定が適用されます。 | anyURI | 1

コ

ン

テ

ン

ツ

RoleConfig

メッセージ送信時に適用するユーザー名，パスワード，署名，暗号化に関する情報を指定します。省略時はメッセージ送信時にWebサービスセキュリティ機能が実行されません。

−

0以上

(11)　 RoleConfig

メッセージ送信時に適用するユーザー名，パスワード，署名，暗号化に関する情報を指定します。

表B‒11　RoleConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | mustUnderstand | 送信するSOAPメッセージヘッダのmustUnderstand属性を"true", "false"，"1"，"0"のどれかで指定します。この属性省略時は，"true"が仮定されます。"true"，"1"を指定した場合は，SOAPメッセージヘッダにmustUnderstand属性が付加されます。"false"，"0"を指定した場合は，SOAPメッセージヘッダにmustUnderstand属性は付加されません。 | boolean | 0 または 1
role | SOAPメッセージヘッダのrole属性（SOAP1.1でのactor属性）を指定します。 | anyURI | 1
Operation | SOAPサービスまたはWebサービスのサービスメソッド名を指定します。メソッドが複数ある場合は，半角スペースで区切って指定します。この要素を省略した場合は，SOAPサービスまたはWebサービスのすべてのメソッドに対して，このコンテンツ以下で指定するWebサービスセキュリティ機能の設定が適用されます。 この指定は，RequestSenderConfig以下のRoleConfigに指定した場合だけ有効となります。また，呼び出すSOAPサービスがメッセージング形態の場合は，この指定は無視されます。 | NMTOKENS | 0 または 1

コ

ン

テ

ン

ツ

BinarySecurityTokenConfig

SOAPメッセージに付与するバイナリセキュリティトークンの情報を指定します。省略時は，SOAPメッセージにバイナリセキュリティトークンは付与されません。

−

0以上

SignatureConfig | 署名に関する情報を指定します。省略時は，SOAPメッセージに署名は付与されません。 | − | 0以上
EncryptionConfig | 暗号化に関する情報を指定します。省略時は，SOAPメッセージが暗号化されません。 | − | 0以上
TimestampConfig | Timestamp要素に関する情報を指定します。省略時は，SOAPメッセージにTimestamp要素は付与されません。 | − | 0 または 1
UsernameTokenConfig | UsernameToken要素に関する情報を指定します。省略時は，SOAPメッセージにUsernameToken要素は付与されません。 | − | 0以上

(12)　 BinarySecurityTokenConfig

SOAPメッセージに付与するバイナリセキュリティトークンの情報を指定します。コンテンツはありません。

表B‒12　BinarySecurityTokenConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Id | セキュリティ機能定義ファイル中で一意に識別するためのID値を指定します。 | ID | 1
IdRef | バイナリセキュリティトークンとして使用するリソースの位置（Id）を指定します。Certificate要素のId値を指定します。 | IDREF | 1
EmbedId | バイナリセキュリティトークン要素をセキュリティヘッダに埋め込む時に付加するId値を指定します。 | String | 1
EncodingType | セキュリティトークンを送信する際のエンコード種別を指定します。指定できる値は，"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"だけです。省略時は，"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"が仮定されます。 | anyURI | 0 または 1
ValueType | バイナリセキュリティトークンの種別を指定します。指定できる値は，"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"だけです。省略時は，"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"が仮定されます。 | anyURI | 0 または 1

(13)　 SignatureConfig

署名に関する情報を指定します。コンテンツ（子要素）は，次の表の順番で指定する必要があります。

表B‒13　SignatureConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

CanonicalizationMethod

正規化アルゴリズムを指定します。

−

1

SignatureMethod | 署名アルゴリズムを指定します。 | − | 1
SignatureTarget | 署名対象を指定します。 | − | 1以上
SignatureKey | 署名に使用する鍵の情報を指定します。 | − | 1
SignatureKeyInfo | 署名に使用する鍵の参照情報を指定します。 | − | 1

(14)　 CanonicalizationMethod

正規化アルゴリズムを指定します。

表B‒14　CanonicalizationMethod

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Algorithm | 正規化アルゴリズムのアルゴリズム識別子を指定します。 | anyURI | 1

コ

ン

テ

ン

ツ

CanonicalizeParam

正規化処理で使用するパラメタを指定します。省略時は正規化処理時にパラメタは付与されません。

−

0

または

1

(15)　 CanonicalizeParam

正規化処理で使用するパラメタを指定します。コンテンツはありません。

表B‒15　CanonicalizeParam

種別 | 要素 | 説明 | データ型 | 指定 回数

属性

InclusiveNamespaces

CanonicalizationMethodのAlgorithm属性がExclusive Canonical XMLの場合に，Exclusive XML Canonicalization Version 1.0で規定されている名前空間プレフィクスを指定します。指定方法は，対象となる名前空間プレフィクス名をスペースで区切って指定します（例 "ns1 ns2 ns3"）。CanonicalizationMethodのAlgorithm属性がExclusive Canonical XML（Exclusive Canonical XML with CommentsまたはExclusive Canonical XML omits comments）でない場合はこの指定は無視されます。

NMTOKENS

1

(16)　 SignatureMethod

署名アルゴリズムを指定します。コンテンツはありません。

表B‒16　SignatureMethod

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Algorithm | 署名アルゴリズムのアルゴリズム識別子を指定します。 | anyURI | 1

(17)　 SignatureTarget

署名対象を指定します。属性の指定は，PartまたはTargetIdのどちらかが必須になります。

表B‒17　SignatureTarget

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Part | 署名対象となるSOAPエンベロープ中のエレメントを指定します。指定できる値は"Body"だけです。 | enum | 0 または 1
TargetId | 署名対象のId値（SOAPメッセージ内の要素にあらかじめ設定済みのwsu:Idの値）を指定します。この指定はメッセージング形態の場合だけ有効です。 | String | 0 または 1

コ

ン

テ

ン

ツ

Transform

トランスフォームアルゴリズムを指定します（必須）。

−

1以上

(18)　 Transform

トランスフォームアルゴリズムを指定します。

表B‒18　Transform

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Algorithm | トランスフォームアルゴリズムのアルゴリズム識別子を指定します。 | anyURI | 1

コ

ン

テ

ン

ツ

TransformParam

トランスフォームアルゴリズムで使用するパラメタを指定します。省略時はトランスフォーム処理時にパラメタは付与されません。

−

0

または

1

(19)　 TransformParam

トランスフォームアルゴリズムで使用するパラメタを指定します。コンテンツはありません。

表B‒19　TransformParam

種別 | 要素 | 説明 | データ型 | 指定 回数

属性

InclusiveNamespaces

TransformのAlgorithm属性がExclusive Canonical XMLの場合に，Exclusive XML Canonicalization Version 1.0で規定されている名前空間プレフィクスを指定します。指定方法は，対象となる名前空間プレフィクス名をスペースで区切って指定します（例 "ns1 ns2 ns3"）。

TransformのAlgorithm属性がExclusive Canonical XML（Exclusive Canonical XML with CommentsまたはExclusive Canonical XML omits comments）でない場合はこの指定は無視されます。

NMTOKENS

1

(20)　 SignatureKey

署名に使用する鍵の情報を指定します。コンテンツはありません。

表B‒20　SignatureKey

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | IdRef | 鍵の位置（Binding要素のPrivateKey要素で指定するId属性）を指定します。 | IDREF | 1

(21)　 SignatureKeyInfo

署名に使用する鍵の参照情報を指定します。

表B‒21　SignatureKeyInfo

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

KeyReferenceConfig

署名に使用する鍵のリファレンス情報（KeyInfo要素内のSecurityTokenReference要素として設定される情報）を指定します。

−

1

(22)　 KeyReferenceConfig

署名に使用する鍵のリファレンス情報を指定します。コンテンツは，DirectReferenceまたはKeyIdentifierのどちらかを指定します。

表B‒22　KeyReferenceConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

DirectReference

鍵の参照メカニズムをDirectReferenceにする場合の情報を指定します。

−

0

または

1

KeyIdentifier | 鍵の参照メカニズムをKeyIdentifierにする場合の情報を指定します。 | − | 0 または 1

(23)　 DirectReference

鍵の参照メカニズムをDirectReferenceにする場合の情報を指定します。コンテンツはありません。URI属性は，先頭に"#"を必ず付加してください。

表B‒23　DirectReference

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | URI | セキュリティヘッダに埋め込む鍵（バイナリセキュリティトークン）の位置（URI）を指定します。ここで指定した値がセキュリティヘッダ内のwsse:Reference要素のURI属性に設定されます。ここで指定する値は，BinarySecurityTokenConfig要素のEmbedIdの値を参照する値である必要があります。 | anyURI | 1

(24)　 KeyIdentifier

鍵の参照メカニズムをKeyIdentifierにする場合の情報を指定します。コンテンツはありません。

表B‒24　KeyIdentifier

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | IdRef | 鍵として使用するキーストアの非公開鍵の位置（Certificate要素のId値）を指定します。 | IDREF | 1
EncodingType | KeyIdentifier要素のエンコード種別を指定します。 指定できる値は，"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"だけです。省略時は，"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"が仮定されます。 | anyURI | 0 または 1
ValueType | KeyIdentifier要素の種別を指定します。指定できる値は，"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier"だけです。省略時は，"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier"が仮定されます。 | anyURI | 0 または 1

(25)　 EncryptionConfig

暗号化に関する情報を指定します。

表B‒25　EncryptionConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

ContentsEncryption

メッセージ内容の暗号化に関する情報を指定します。

−

1

KeyEncryption | 鍵の暗号化に関する情報を指定します。EncryptionTypeが"ContentsEncryption"の場合は不要です。 | − | 1

(26)　 ContentsEncryption

メッセージ内容の暗号化に関する情報を指定します。

表B‒26　ContentsEncryption

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

EncryptionTarget

暗号化対象を指定します。

−

1

(27)　 EncryptionTarget

暗号化対象を指定します。PartまたはTargetIdのどちらかを指定してください。PartおよびTargetIdの両方を指定した場合は，Partの指定だけが有効になります。また，TargetIdを指定する場合は，対象となるSOAPメッセージのエレメントに同じ値のwsu:Id属性が指定されている必要があります。

表B‒27　EncryptionTarget

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Part | 暗号化対象となるSOAPエンベロープ中のエレメントを指定します。指定可能な値は"BodyContent"だけです。 | enum | 0 または 1
TargetId | 暗号化対象のId値（SOAPメッセージ内の要素にあらかじめ設定済みのwsu:Idの値）を指定します。この指定はメッセージング形態のSOAPサービスの場合だけ有効です。 | String | 0 または 1
EmbedId | 暗号化適用後のエレメントに付加するId値（wsu:Id属性として設定される）を指定します。この属性を省略した場合はId値はWebサービスセキュリティ機能独自の値を自動的に付加します。 | String | 0 または 1

コ

ン

テ

ン

ツ

EncryptionMethod

暗号化アルゴリズムを指定します。

−

1

(28)　 EncryptionMethod

暗号化アルゴリズムを指定します。コンテンツはありません。

表B‒28　EncryptionMethod

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Algorithm | 暗号化アルゴリズムのアルゴリズム識別子を指定します。 | anyURI | 1

(29)　 KeyEncryption

鍵の暗号化に関する情報を指定します。

表B‒29　KeyEncryption

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

EncryptionMethod

暗号化アルゴリズムを指定します。

−

1

KeyEncryptionKey | 鍵の暗号化に使用する鍵の情報を指定します。 | − | 1

(30)　 KeyEncryptionKey

鍵の暗号化に使用する鍵の情報を指定します。コンテンツはありません。

表B‒30　KeyEncryptionKey

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | IdRef | 使用する鍵の位置（SecretKeyFile要素で指定するId属性）を指定します。 | IDREF | 1

(31)　 TimestampConfig

Timestamp要素に関する情報を指定します。

表B‒31　TimestampConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | EmbedId | Timestamp要素をセキュリティヘッダに埋め込む時のId値を指定します。省略時はTimestamp要素をセキュリティヘッダに埋め込む時にIdは付与されません。 | String | 0 または 1
Created | Timestamp要素にCreated要素を付加するかどうかを"true"，"false"，"1"，"0"のどれかで指定します。 "true"，"1"を指定した場合Created要素が付加されます。 "false"，"0"を指定した場合Created要素は付加されません。省略時は"false"が仮定されます。 | boolean | 0 または 1
Expires | Timestamp要素にExpires要素を付加するかどうかを"true"，"false"，"1"，"0"のどれかで指定します。 "true"，"1"を指定した場合Expires要素が付加されます。 "false"，"0"を指定した場合Expires要素は付加されません。省略時は"false"が仮定されます。 | boolean | 0 または 1

コ

ン

テ

ン

ツ

Expires

Expires要素に関する情報を指定します。

−

0

または

1

(32)　 Expires

Expires要素に関する情報を指定します。コンテンツはありません。

表B‒32　Expires

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Value | 有効期限を設定します。現在時刻からの相対時間をミリ秒単位で指定します。指定できる範囲は1,000〜2,147,483,647です。範囲外の値を指定した場合，または省略時は300,000（5分）が仮定されます。 | int | 0 または 1

(33)　 UsernameTokenConfig

UsernameToken要素に関する情報を指定します。

表B‒33　UsernameTokenConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Id | Webサービスセキュリティ機能定義ファイル中で，UsernameTokenConfig要素を一意に識別するためのID値を指定します。 | ID | 1
EmbedId | UsernameToken要素をセキュリティヘッダに埋め込む時のId値を指定します。省略時はUsernameToken要素をセキュリティヘッダに埋め込む時にIdが付与されません。 | String | 0 または 1

コ

ン

テ

ン

ツ

Username

ユーザー名に関する情報を指定します。

−

1

Password | パスワードに関する情報を指定します。省略時はUsernameToken要素にパスワードが付与されません。 | − | 0 または 1

(34)　 Username

ユーザー名に関する情報を指定します。

表B‒34　Username

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

ユーザー名

認証に使用するユーザーID値を指定します。

String

1

(35)　 Password

パスワードに関する情報を指定します。

表B‒35　Password

種別 | 要素 | 説明 | データ型 | 指定 回数

属性

Type

パスワードの形式を指定します。指定できる値は，"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"（テキスト），または"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"（ダイジェスト）の2種類だけです。省略時は，"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"が仮定されます。

anyURI

0

または

1

コ

ン

テ

ン

ツ

パスワード値

認証に使用するパスワード値を指定します。

String

1

(36)　 ResponseSenderConfig

レスポンスメッセージ送信時の設定を指定します。

表B‒36　ResponseSenderConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

SenderPortConfig

送信時にWebサービスセキュリティ機能を適用するSOAPサービスエンドポイントの情報を指定します。

−

1以上

(37)　 RequestReceiverConfig

リクエストメッセージ受信時の設定を指定します。

表B‒37　RequestReceiverConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

ReceiverPortConfig

Webサービスセキュリティ機能を適用するSOAPサービスまたはWebサービスのエンドポイントの情報を指定します。

−

1以上

(38)　 ReceiverPortConfig

受信時にWebサービスセキュリティ機能を適用するSOAPサービスまたはWebサービスのエンドポイントの情報を指定します。

表B‒38　ReceiverPortConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Name | メッセージを受信するSOAPサービスまたはWebサービスのURLを指定します。 | anyURI | 1
My_role | Webサービスセキュリティ機能を適用するSOAPサービスまたはWebサービスのロール名をURI形式で指定します。受信したSOAPメッセージのセキュリティヘッダ中のrole属性値が，ここで指定したロール名と一致した場合に，PortTypeConfig以下に指定した動作定義に従ってWebサービスセキュリティ機能を実行します。この属性を省略した場合は，受信したSOAPメッセージのセキュリティヘッダ中のrole属性の内容（role属性がない場合も含む）にかかわらず，PortTypeConfig以下に指定した動作定義に従ってWebサービスセキュリティ機能を実行します。 | anyURI | 1

コ

ン

テ

ン

ツ

AuthenticationConfig

セキュリティトークンの認証に関する情報を指定します。省略時はセキュリティトークンの認証を行いません。

−

0

または

1

VerificationConfig | 署名検証に関する情報を指定します。省略時は署名検証を行いません。 | − | 0 または 1
DecryptionConfig | 復号化に関する情報を指定します。省略時は復号化を行いません。 | − | 0 または 1

(39)　 AuthenticationConfig

セキュリティトークンの認証に関する情報を指定します。

表B‒39　AuthenticationConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

UsernameTokenAuthnConfig

UsernameTokenの認証に関する情報を指定します。省略時はUsernameTokenの認証を行いません。

−

0

または

1

(40)　 UsernameTokenAuthnConfig

UsernameTokenの認証に関する情報を指定します。LoginContextタグを省略した場合は，UsernameTokenの認証をしないで処理を続行します。

表B‒40　UsernameTokenAuthnConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

AuthnMethod

認証方式に関する情報を指定します。

−

1

LoginContext | JAAS認証に関する情報を指定します。AuthnMethodに"JAASAuthn"を指定した場合，この要素は必須です。 | − | 0 または 1

(41)　 AuthnMethod

認証方式に関する情報を指定します。コンテンツはありません。

表B‒41　AuthnMethod

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Type | 認証方式を指定します。指定できる値は"JAASAuthn"だけです。 | enum | 1

(42)　 LoginContext

JAAS認証に関する情報を指定します。

表B‒42　LoginContext

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

ConfigurationIndex

ログイン構成のインデックスを指定します。

−

1

(43)　 ConfigurationIndex

ログイン構成のインデックスを指定します。

表B‒43　ConfigurationIndex

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

インデックス値

LoginContextクラスをインスタンス化する際に使用するログイン構成のインデックス（jaas.conf内のインデックス名）を指定します。

−

1

(44)　 VerificationConfig

署名検証に関する情報を指定します。

表B‒44　VerificationConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

VerificationKeyLocationList

署名検証に用いる鍵に関する情報を指定します。

−

1

(45)　 VerificationKeyLocationList

署名検証に用いる鍵に関する情報を指定します。受信したセキュリティヘッダ内の署名鍵の参照形式（SecurityTokenReference要素で示されます）が"wsse:Reference"の場合，この要素のVerificationKeyStoreタグで指定された内容は無視されます。

表B‒45　VerificationKeyLocationList

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

VerificationKeyStore

署名検証に用いる鍵の所在に関する情報を指定します。

−

1以上

(46)　 VerificationKeyStore

署名検証に用いる鍵の所在に関する情報を指定します。コンテンツはありません。

表B‒46　VerificationKeyStore

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | IdRef | 使用する鍵を含むKeyStore要素のId属性を指定します。 | IDREF | 1

(47)　 DecryptionConfig

復号化に関する情報を指定します。

表B‒47　DecryptionConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

DecryptionKeyLocationList

復号に用いる鍵の所在に関する情報を指定します。

−

1

(48)　 DecryptionKeyLocationList

復号に用いる鍵の所在に関する情報を指定します。

表B‒48　DecryptionKeyLocationList

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

DecryptionSecretKeyLocationList

復号に用いる鍵の所在に関する情報を指定します。

−

1以上

(49)　 DecryptionSecretKeyLocationList

復号に用いる鍵の所在に関する情報を指定します。コンテンツはありません。

表B‒49　DecryptionSecretKeyLocationList

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | IdRef | 使用する鍵を含むSecretKeyFile要素のId属性の値を指定します。 | IDREF | 1

(50)　 ResponseReceiverConfig

リクエストメッセージ受信時の設定を指定します。

表B‒50　ResponseReceiverConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

ReceiverPortConfig

Webサービスセキュリティ機能を適用するSOAPサービスまたはWebサービスのエンドポイントの情報を指定します。

−

1

付録B.2　Webサービスセキュリティ方針定義ファイルの項目

Webサービスセキュリティ方針定義ファイルは，XMLファイルです。ここでは，Webサービスセキュリティ方針定義ファイルの要素，および要素で指定できる属性とコンテンツ（子要素）について説明します。なお，表中のデータ型は，XML Schemaのデータ型を表しています。

(1)　 PolicyConfig

方針定義ファイルのルート要素です。

表B‒51　PolicyConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

GlobalConfig

Webサービスセキュリティ方針定義で共通的に使用する規則を指定します。省略時は，GlobalConfig要素内の値はすべてデフォルト値が仮定されます。

−

0

または

1

RequestReceiverConfig | リクエストメッセージ受信時の設定を指定します。 省略した場合，リクエストメッセージ受信時の方針に従っているかどうかのチェックは実施されません。 | − | 0 または 1
ResponseReceiverConfig | レスポンスメッセージ受信時の設定を指定します。 省略した場合，レスポンスメッセージ受信時の方針に従っているかどうかのチェックは実施されません。 | − | 0 または 1

(2)　 GlobalConfig

Webサービスセキュリティ方針定義で共通的に使用する規則を指定します。

表B‒52　GlobalConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

Max-Clock-Skew

有効期限をチェックする際の時間差に関する情報を指定します。省略時はMax-Clock-Skew要素内の値はすべてデフォルト値が仮定されます。

−

0

または

1

Fresh-Time-Limit | UsernameToken要素，Timestamp要素内のCreated要素の有効期間に関するチェック情報を指定します。省略時はFresh-Time-Limit要素内の値はすべてデフォルト値が仮定されます。 | − | 0 または 1

(3)　 Max-Clock-Skew

有効期限をチェックする際の時間差に関する情報を指定します。コンテンツはありません。

表B‒53　Max-Clock-Skew

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Value | UsernameToken要素およびTimestamp要素の子要素であるCreated要素，またはTimestamp要素の子要素であるExpires要素に指定された値に基づいてSOAPメッセージの有効期限を確認する場合に，送信側と受信側との時間の差をどこまで許容するかを指定します。指定するときの単位はミリ秒です。 指定できる範囲は，1〜2,147,483,647の間です。範囲外の値を指定した場合，または指定を省略した場合は，0ミリ秒が仮定されます。 | int | 1

(4)　 Fresh-Time-Limit

UsernameToken要素，およびTimestamp要素内のCreated要素の有効期間に関する情報を指定します。コンテンツはありません。

表B‒54　Fresh-Time-Limit

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Value | UsernameToken要素およびTimestamp要素の子要素であるCreated要素に指定された値を確認する場合に，送信側と受信側との時間の差をどこまで許容するかを指定します。 指定するときの単位はミリ秒です。 指定できる範囲は，1,000〜2,147,483,647の間です。範囲外の値を指定した場合，または指定を省略した場合は，300,000ミリ秒が仮定されます。 | int | 1

(5)　RequestReceiverConfig

リクエストメッセージ受信時の設定を指定します。

表B‒55　RequestReceiverConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

ReceiverPortConfig

Webサービスセキュリティ方針定義を適用するSOAPサービスまたはWebサービスのエンドポイントの情報を指定します。

−

1以上

(6)　 ReceiverPortConfig

Webサービスセキュリティ方針定義を適用するSOAPサービスまたはWebサービスのエンドポイントの情報を指定します。

表B‒56　ReceiverPortConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Name | Webサービスセキュリティ方針定義を適用するSOAPサービスまたはWebサービスのURLを指定します。 アスタリスク"*"を指定した場合，すべてのSOAPサービスまたはWebサービスに対してWebサービスセキュリティ方針定義が適用されます。 | anyURI | 1
My_role | Webサービスセキュリティ方針定義を適用するSOAPサービスまたはWebサービスのロール名を，URIで指定します。受信したSOAPメッセージのセキュリティヘッダ内で，RoleConfig要素のrole属性に指定されている値がMy_role属性で指定したロール名と一致した場合に，ReceiverPortConfig要素で指定した定義に従ってWebサービスセキュリティ方針定義が適用されます。 | anyURI | 1

コ

ン

テ

ン

ツ

SecurityTokenConfig

セキュリティトークンに関するチェック情報を指定します。省略時はセキュリティトークンに関する方針に従っているかどうかのチェックは実施されません。

−

0

または

1

VerificationConfig | 署名に関するチェック情報を指定します。省略時は署名に関する方針に従っているかどうかのチェックは実施されません。 | − | 0 または 1
DecryptionPolicyConfig | 復号化に関するチェック情報を指定します。省略時は復号化に関する方針に従っているかどうかのチェックは実施されません。 | − | 0 または 1
TimestampConfig | タイムスタンプに関するチェック情報を指定します。省略時はタイムスタンプに関する方針に従っているかどうかのチェックは実施されません。 | − | 0 または 1

(7)　 SecurityTokenConfig

セキュリティトークンに関する方針チェックの情報を指定します。

表B‒57　SecurityTokenConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

UsernameTokenConfig

UsernameToken要素に関するチェック情報を指定します。省略時はUsernameTokenに関する方針チェックは実施されません。

−

0

または

1

BinarySecurityTokenConfig | バイナリセキュリティトークンに関するチェック情報を指定します。省略時はバイナリセキュリティトークンに関する方針に従っているかどうかのチェックは実施されません。 | − | 0 または 1

(8)　UsernameTokenConfig

UsernameToken要素に関する方針チェックの情報を指定します。

表B‒58　UsernameTokenConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Required | セキュリティヘッダ内のUsernameToken要素の有無をチェックするかどうかを"true"，"false"，"1"，"0"のどれかで指定します。 "true"または"1"を指定した場合，セキュリティヘッダ内にUsernameToken要素が存在しないときは方針に違反するものと見なし，SOAP Faultをスローします。 "false"または"0"を指定した場合，セキュリティヘッダ内のUsernameToken要素の有無をチェックせず，UsernameToken要素が存在しても処理しません。 | boolean | 1

コ

ン

テ

ン

ツ

Nonce

Nonce要素に関するチェック情報を指定します。省略時はNonce要素に関する方針チェックは実施されません。

−

0

または

1

Created | UsernameToken要素内のCreated要素に関するチェック情報を指定します。省略時はCreated要素に関する方針に従っているかどうかのチェックは実施されません。 | − | 0 または 1

(9)　Nonce

Nonce要素に関する方針チェックの情報を指定します。コンテンツはありません。

表B‒59　Nonce

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Required | UsernameToken要素内のNonce要素の有無をチェックするかどうかを"true"，"false"，"1"，"0"のどれかで指定します。 "true"または"1"を指定した場合，UsernameToken要素内にNonce要素が存在しないときは方針に違反するものと見なし，SOAP Faultをスローします。 "false"または"0"を指定した場合，UsernameToken要素内のNonce要素の有無をチェックせず，Nonce要素が存在しても処理しません。 | boolean | 1

(10)　Created

UsernameToken要素内のCreated要素に関する方針チェックの情報を指定します。

表B‒60　Created

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Required | UsernameToken要素内のCreated要素の有無をチェックするかどうかを"true"，"false"，"1"，"0"のどれかで指定します。 "true"または"1"を指定した場合，UsernameToken要素内にCreated要素が存在しないときは方針に違反するものと見なし，SOAP Faultをスローします。 "false"または"0"を指定した場合，UsernameToken要素内のCreated要素の有無をチェックせず，Created要素が存在しても処理しません。 | boolean | 1

(11)　 BinarySecurityTokenConfig

バイナリセキュリティトークンに関する方針チェックの情報を指定します。

表B‒61　BinarySecurityTokenConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

TokenValidation

BinarySecurityToken要素の検証に関するチェック情報を指定します。

−

1

(12)　 TokenValidation

BinarySecurityToken要素の検証に関する方針チェックの情報を指定します。

表B‒62　TokenValidation

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

X509TokenValidation

X.509証明書の検証に関するチェック情報を指定します。この要素が指定されている場合，受信したSOAPメッセージにX.509証明書のBinarySecurityToken要素（ValueTypeが"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"であるBinarySecurityToken要素）

が存在しない場合，方針に違反するものと見なしてSOAP Faultをスローします。

省略時はX.509証明書の検証に関する方針に従っているかどうかのチェックは実施されません。

−

0

または

1

(13)　 X509TokenValidation

X.509証明書の検証に関する方針チェックの情報を指定します。

表B‒63　X509TokenValidation

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

AuthorityCertificateLocationList

X.509証明書の検証に関するチェック情報を指定します。

−

1

(14)　AuthorityCertificateLocationList

X.509証明書の検証に関する方針チェックの情報を指定します。

表B‒64　AuthorityCertificateLocationList

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

AuthorityCertificateFile

X.509証明書の署名検証に使用する証明書ファイルの情報を指定します。

−

1以上

(15)　AuthorityCertificateFile

X.509証明書の署名検証に使用する証明書ファイルの情報を指定します。コンテンツはありません。

表B‒65　AuthorityCertificateFile

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Name | X.509証明書の署名検証に使用する証明書ファイル名を指定します。 | String | 1

(16)　VerificationConfig

署名に関するチェック情報を指定します。VerificationConfig要素の指定があり，署名がされていないメッセージを受信した場合は方針に違反するものと見なして，SOAP Faultをスローします。

表B‒66　VerificationConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

SignatureMethodList

署名アルゴリズムに関するチェック情報を指定します。

−

1

CanonicalizationMethodList | 正規化アルゴリズムに関するチェック情報を指定します。 | − | 1
SignatureTarget | 署名個所に関するチェック情報を指定します。 | − | 1

(17)　SignatureMethodList

署名アルゴリズムに関するチェック情報を指定します。受信メッセージ中の署名アルゴリズムが，この要素のSignatureMethodタグで指定した，どのアルゴリズムとも一致しない場合は，方針に違反するものと見なして，SOAP Faultをスローします。

表B‒67　SignatureMethodList

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

SignatureMethod

署名アルゴリズムに関する情報を指定します。省略時は署名アルゴリズムに関する方針に従っているかどうかのチェックは実施されません。

−

0以上

(18)　SignatureMethod

署名アルゴリズムに関する情報を指定します。コンテンツはありません。

表B‒68　SignatureMethod

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Algorithm | 受信側で処理可能な署名アルゴリズムのURIを指定します。 | anyURI | 1

(19)　CanonicalizationMethodList

正規化アルゴリズムに関するチェック情報を指定します。受信メッセージ中の正規化アルゴリズムが，この要素のCanonicalizationMethodタグで指定した，どのアルゴリズムとも一致しない場合は，方針に違反するものと見なして，SOAP Faultをスローします。

表B‒69　CanonicalizationMethodList

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

CanonicalizationMethod

正規化アルゴリズムに関する情報を指定します。省略時は正規化アルゴリズムに関する方針に従っているかどうかのチェックは実施されません。

−

0以上

(20)　CanonicalizationMethod

正規化アルゴリズムに関する情報を指定します。コンテンツはありません。

表B‒70　CanonicalizationMethod

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Algorithm | 受信側で処理可能な正規化アルゴリズムのURIを指定します。 | anyURI | 1

(21)　SignatureTarget

署名個所に関するチェック情報を指定します。

表B‒71　SignatureTarget

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Part | 署名個所となるSOAPエンベロープ中のエレメントを指定します。メッセージの署名個所がこの属性に指定した個所と異なる場合，方針に違反するものと見なして，SOAP Faultをスローします。指定できる値は"Body"だけです。 | enum | 1

コ

ン

テ

ン

ツ

TransformMethodList

トランスフォームアルゴリズムに関する情報を指定します。省略時はトランスフォームアルゴリズムに関する方針に従っているかどうかのチェックは実施されません。

−

0

または

1

(22)　TransformMethodList

トランスフォームアルゴリズムに関する情報を指定します。受信メッセージ中のトランスフォームアルゴリズムが，この要素のTransformMethodタグで指定した，どのアルゴリズムとも一致しない場合は，方針に違反するものと見なして，SOAP Faultをスローします。

表B‒72　TransformMethodList

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

TransformMethod

トランスフォームアルゴリズムのアルゴリズム識別子を指定します。省略時はトランスフォームアルゴリズムに関する方針に従っているかどうかのチェックは実施されません。

anyURI

0以上

(23)　 TransformMethod

トランスフォームアルゴリズムのアルゴリズム識別子を指定します。コンテンツはありません。

表B‒73　TransformMethod

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Algorithm | 受信側で処理可能なトランスフォームアルゴリズムのURIを指定します。 | anyURI | 1

(24)　DecryptionPolicyConfig

復号化に関するチェック情報を指定します。DecryptionConfig要素の指定があり，暗号化がされていないメッセージを受信した場合は，方針に違反するものと見なして，SOAP Faultをスローします。

表B‒74　DecryptionPolicyConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

DecryptionTarget

復号化個所に関するチェック情報を指定します。

−

1

(25)　DecryptionTarget

復号化個所に関するチェック情報を指定します。

表B‒75　DecryptionTarget

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Part | 復号化する個所となるSOAPエンベロープ中のエレメントを指定します。メッセージの復号化個所がこの属性に指定した個所と異なる場合は，方針に違反するものと見なして，SOAP Faultをスローします。指定できる値は"Body"だけです。 | enum | 1
Type | 復号化する個所の暗号化タイプを指定します。指定できる値は"Content"だけです。 | enum | 1

コ

ン

テ

ン

ツ

DecryptionConfig

復号化に関するチェック情報を指定します。

−

1

(26)　DecryptionConfig

復号化に関するチェック情報を指定します。DecryptionConfig要素の指定があり，暗号化がされていないメッセージを受信した場合は，方針に違反するものと見なして，SOAP Faultをスローします。

表B‒76　DecryptionConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

ContentsDecryption

メッセージ内容の復号化に関するチェック情報を指定します。

−

1

KeyDecryption | 復号に使用する鍵の復号化に関するチェック情報を指定します。EncryptionTypeが"ContentsEncryption"の場合は不要です。 | − | 1

(27)　ContentsDecryption

メッセージ内容の復号化に関するチェック情報を指定します。

表B‒77　ContentsDecryption

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

DecryptionMethodList

復号化個所の暗号アルゴリズムに関するチェック情報を指定します。省略時は復号化個所の暗号アルゴリズムに関する方針に従っているかどうかのチェックは実施されません。

−

0

または

1

(28)　DecryptionMethodList

復号化個所の暗号アルゴリズムに関するチェック情報を指定します。受信メッセージ中の暗号アルゴリズムが，この要素のDecryptionMethodタグで指定した，どのアルゴリズムとも一致しない場合は，方針に違反するものと見なして，SOAP Faultをスローします。

表B‒78　DecryptionMethodList

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

DecryptionMethod

復号化に用いる暗号アルゴリズムに関する情報を指定します。省略時は復号化に用いる暗号アルゴリズムに関する方針に従っているかどうかのチェックは実施されません。

−

0以上

(29)　DecryptionMethod

復号化に用いる暗号アルゴリズムに関する情報を指定します。コンテンツはありません。

表B‒79　DecryptionMethod

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Algorithm | 受信側で処理できる暗号アルゴリズムのURIを指定します。 | anyURI | 1

(30)　KeyDecryption

復号に使用する鍵の復号化に関するチェック情報を指定します。

表B‒80　KeyDecryption

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

DecryptionMethodList

復号化個所に関するチェック情報を指定します。省略時は復号化個所に関する方針に従っているかどうかのチェックは実施されません。

−

0

または

1

(31)　TimestampConfig

タイムスタンプに関するチェック情報を指定します。

表B‒81　TimestampConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

Created

タイムスタンプ要素のCreated要素に関するチェック情報を指定します。省略時はCreated要素に関する方針に従っているかどうかのチェックは実施されません。

−

0

または

1

Expires | タイムスタンプ要素のExpires要素に関するチェック情報を指定します。省略時はExpires要素に関する方針に従っているかどうかのチェックは実施されません。 | − | 0 または 1

(32)　Created

タイムスタンプ要素のCreated要素に関するチェック情報を指定します。コンテンツはありません。

表B‒82　Created

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Required | タイムスタンプ要素内のCreated要素の有無をチェックするかどうかを"true"，"false"，"1"，"0"のどれかで指定します。 "true"または"1"を指定した場合タイムスタンプ要素内にCreated要素が存在しない場合は方針に違反するものと見なして，SOAP Faultをスローします。 "false"または"0"を指定した場合，タイムスタンプ要素内のCreated要素の有無をチェックしません。 | boolean | 1

(33)　Expires

タイムスタンプ要素のExpires要素に関するチェック情報を指定します。コンテンツはありません。

表B‒83　Expires

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | Required | タイムスタンプ要素内のExpires要素の有無をチェックするかどうかを"true"，"false"，"1"，"0"のどれかで指定します。 "true"または"1"を指定した場合，タイムスタンプ要素内にExpires要素が存在しない場合は方針に違反するものと見なして，SOAP Faultをスローします。 "false"または"0"を指定した場合，タイムスタンプ要素内のExpires要素の有無をチェックしません。 | boolean | 1

(34)　ResponseReceiverConfig

レスポンスメッセージ受信時の設定を指定します。

表B‒84　ResponseReceiverConfig

種別 | 要素 | 説明 | データ型 | 指定 回数
属性 | − | − | − | −

コ

ン

テ

ン

ツ

ReceiverPortConfig

Webサービスセキュリティ方針定義を適用するSOAPサービスエンドポイントの情報を指定します。

−

1以上

付録C　用語解説

マニュアルで使用する用語について

マニュアル「アプリケーションサーバ & BPM/ESB基盤 用語解説」を参照してください。

索引

A

AES-128[1]

AES-128鍵ラッピング（128bit鍵）[1]

AES-192[1]

AES-192鍵ラッピング[1]

AES-256[1]

AES-256鍵ラッピング（256bit鍵）[1]

Attaching Policies Using UDDI[1]

Attaching Policies Using WSDL 1.1[1]

AuthenticationConfig[1]

AuthnMethod[1]

AuthorityCertificateFile[1]

AuthorityCertificateLocationList[1]

B

base64（エンコード）[1]

base64（変換アルゴリズム）[1]

BinarySecurityTokenConfig〔Webサービスセキュリティ機能定義ファイル〕[1]

BinarySecurityTokenConfig〔Webサービスセキュリティ方針定義ファイル〕[1]

BindingConfig[1]

C

Calculating Effective Policy in WSDL 1.1[1]

Callbackオブジェクトの生成について[1]

CanonicalizationMethodList[1]

CanonicalizationMethod〔Webサービスセキュリティ機能定義ファイル〕[1]

CanonicalizationMethod〔Webサービスセキュリティ方針定義ファイル〕[1]

CanonicalizeParam[1]

Canonical XML（コメント付き）[1]

Canonical XML（コメントなし）[1]

Certificate[1]

com.cosminexus.wss.handlers.WSSClientHandler[1]

com.cosminexus.wss.handlers.WSSServerHandler[1]

Compact Policy Expression[1]

Confidentiality Assertions[1]

ConfigurationIndex[1]

ContentEncryptedElements Assertion[1]

ContentsDecryption[1]

ContentsEncryption[1]

Created〔UsernameToken要素〕[1]

Created〔タイムスタンプ要素〕[1]

createWSSElementProxycreatewsselementproxy[1]

cwssbinding.xml[1]

cwsshandler.xml[1]

D

DecryptionConfig〔Webサービスセキュリティ機能定義ファイル〕[1]

DecryptionConfig〔Webサービスセキュリティ方針定義ファイル〕[1]

DecryptionKeyLocationList[1]

DecryptionMethod[1]

DecryptionMethodList[1]

DecryptionPolicyConfig[1]

DecryptionSecretKeyLocationList[1]

DecryptionTarget[1]

Diffie-Hellman Key Agreement[1]

Diffie-Hellman Key Values[1]

DirectReference[1]

DSAwithSHA1[1]

E

Effective Policy[1]

EncryptedElements Assertion[1]

EncryptedParts Assertion[1]

EncryptionConfig[1]

EncryptionMethod[1]

EncryptionTarget[1]

Endpoint Policy Subject[1]

Enveloped Signature[1]

Exclusive Canonical XML（コメント付き）[1]

Exclusive Canonical XML（コメントなし）[1]

Expires〔Webサービスセキュリティ機能定義ファイル〕[1]

Expires〔Webサービスセキュリティ方針定義ファイル〕[1]

External Policy Attachment[1]

F

Fresh-Time-Limit[1]

G

getCreated[1]

getId[1]

getMessage[1]

getNonce[1]

getPassword[1]

getPasswordType[1]

getRole[1]

getUsername[1]

getWSSElementProxy（実装クラスから生成）[1]

getWSSElementProxy（スタブクラスから生成）[1]

getWSSUsernameToken[1]

GlobalConfig[1]

H

HMAC-SHA1[1]

I

Ignorable Policy Assertions[1]

Integrity Assertions[1]

J

JAASログインモジュールの実装時の注意[1]

K

KeyDecryption[1]

KeyEncryption[1]

KeyEncryptionKey[1]

KeyIdentifier[1]

KeyLocator[1]

KeyReferenceConfig[1]

KeyStore[1]

L

LoginContext[1]

M

Max-Clock-Skew[1]

Message Policy Subject[1]

N

newInstance〔WSSElementProxyBuilderクラス〕[1]

newWSSElementProxy（実装クラスから生成）[1]

newWSSElementProxy（スタブクラスから生成）[1]

Nonce[1]

Normal Form Policy Expression[1]

Normalization[1]

O

Operation Policy Subject[1]

Optional Policy Assertions[1]

P

Password[1]

Policy Assertion Nesting[1]

Policy Attachmen[1]

Policy Attachment Mechanisms[1]

PolicyConfig[1]

Policy Expression[1]

Policy Identification[1]

Policy Inclusion[1]

Policy Intersection[1]

Policy Operators[1]

Policy References[1]

PrivateKey[1]

Protection Assertions[1]

R

ReceiverPortConfig〔Webサービスセキュリティ機能定義ファイル〕[1]

ReceiverPortConfig〔Webサービスセキュリティ方針定義ファイル〕[1]

removeWSSUsernameToken[1]

RequestReceiverConfig〔Webサービスセキュリティ機能定義ファイル〕[1]

RequestReceiverConfig〔Webサービスセキュリティ方針定義ファイル〕[1]

RequestSenderConfig[1]

RequiredElements Assertion[1]

Required Elements Assertion[1]

RequiredParts Assertion[1]

ResponseReceiverConfig〔Webサービスセキュリティ機能定義ファイル〕[1]

ResponseReceiverConfig〔Webサービスセキュリティ方針定義ファイル〕[1]

ResponseSenderConfig[1]

RoleConfig[1]

RSAwithSHA1[1]

RSA-OAEP[1]

RSA-v1.5[1]

S

SecretKeyFile[1]

SecretKeyLocationList[1]

Security Binding Assertions[1]

SecurityConfig[1]

SecurityTokenConfig[1]

SenderPortConfig[1]

Service Policy Subject[1]

setId[1]

setPassword[1]

setPasswordType[1]

setRole[1]

setUsername[1]

setWSSUsernameToken[1]

SHA1[1]

SignatureConfig[1]

SignatureKey[1]

SignatureKeyInfo[1]

SignatureMethodList[1]

SignatureMethod〔Webサービスセキュリティ機能定義ファイル〕[1]

SignatureMethod〔Webサービスセキュリティ方針定義ファイル〕[1]

SignatureTarget〔Webサービスセキュリティ機能定義ファイル〕[1]

SignatureTarget〔Webサービスセキュリティ方針定義ファイル〕[1]

SignedElements Assertion[1]

SignedParts Assertion[1]

STR Dereference[1]

Supporting Tokens[1]

T

TimestampConfig〔Webサービスセキュリティ機能定義ファイル〕[1]

TimestampConfig〔Webサービスセキュリティ方針定義ファイル〕[1]

Timestamp要素を使用する場合[1]

Token Assertions[1]

TokenValidation[1]

Transform[1]

TransformMethod[1]

TransformMethodList[1]

TransformParam[1]

Triple DES[1]

TRIPLEDES鍵ラッピング[1]

U

Use of IRIs in Policy Expressions[1]

Username[1]

UsernameTokenAuthnConfig[1]

UsernameTokenConfig〔Webサービスセキュリティ機能定義ファイル〕[1]

UsernameTokenConfig〔Webサービスセキュリティ方針定義ファイル〕[1]

V

VerificationConfig〔Webサービスセキュリティ機能定義ファイル〕[1]

VerificationConfig〔Webサービスセキュリティ方針定義ファイル〕[1]

VerificationKeyLocationList[1]

VerificationKeyStore[1]

W

Webサービスセキュリティ機能定義ファイル[1]

Webサービスセキュリティ機能定義ファイルの運用について[1]

Webサービスセキュリティ機能の実装手順（JAX-WS機能を使用する場合）[1]

Webサービスセキュリティ機能の実装手順（SOAPアプリケーション開発支援機能を使用する場合）[1]

WebサービスセキュリティとSOAPとの関係[1]

WebサービスセキュリティとXMLセキュリティとの関係[1]

Webサービスセキュリティとは[1]

Webサービスセキュリティハンドラ〔Webサービス側〕[1]

Webサービスセキュリティハンドラ〔Webサービスクライアント側〕[1]

Webサービスセキュリティ方針定義ファイル[1]

Webサービスセキュリティ方針定義ファイルの運用について[1]

WSS_RECV_ELEMENTPROXYプロパティ[1]

WSS_SEND_ELEMENTPROXYプロパティ[1]

WSS:SOAP Message Security Options[1]

WSSConstantsインタフェース[1]

WSSElementProxyBuilderクラス[1]

WSSElementProxyFactoryクラス（セキュリティ項目操作クラスの生成）[1]

WSSElementProxyクラス（セキュリティ項目の操作）[1]

WSSExceptionクラス（例外情報の取得）[1]

WSSUsernameToken.PasswordTypeインタフェース（PasswordType要素の操作）[1]

WSSUsernameTokenクラス（UsernameToken要素の操作）[1]

WS-Policy 1.5仕様のサポート範囲[1]

WS-Policy Attachment for WSDL 2.0[1]

WS-SecurityPolicy 1.3仕様のサポート範囲[1]

WS-SecurityPolicy仕様[1]

WS-Trust Options[1]

X

X509TokenValidation[1]

XML Decryption Transformation[1]

XML Element Attachment[1]

XPath[1]

XPath Filter 2.0[1]

XSLT[1]

あ

アサーション[1]

暗号化／復号化機能を設定する[1]

暗号化する個所をID属性で指定する[1]

暗号化する個所をパート名で指定する[1]

い

インタフェースおよびクラスの一覧[1]

か

開発に必要な製品[1]

外部バインディングファイルのテンプレート[1]

環境設定ファイルの記述規則[1]

環境設定ファイルの設定項目[1]

完全性[1]

き

共通鍵生成コマンド（CWSSCreateSecretKey）[1]

く

クライアント側がWebアプリケーションの場合の実装手順[1]

クライアント側がコマンドラインJavaアプリケーションの場合の実装手順[1]

こ

コンストラクタ[1]

さ

サーバ側の実装手順[1]

サポート範囲

WS-Security仕様[1]

XML暗号標準仕様[1]

XML署名標準仕様[1]

し

実行環境に合わせて設定を変更する[1]

実行に必要な製品[1]

署名付与／検証機能を設定する[1]

署名を付与する個所をID属性で指定する[1]

署名を付与する個所をパート名で指定する[1]

せ

セキュリティ機能を組み合わせて使用する場合[1]

前提OS

開発時[1]

実行時[1]

前提プログラム

開発時[1]

実行時[1]

て

定義ファイル構文チェックコマンド（CWSSConfCheck）[1]

定義ファイルに関する注意事項[1]

定義ファイルの構文をチェックする[1]

定義ファイルの設定[1]

と

トレースの重要度[1]

トレースの出力先[1]

トレースの内容[1]

トレースを収集する[1]

に

認証[1]

認証機能を設定する[1]

は

ハンドラチェイン設定ファイルのテンプレート[1]

ひ

秘匿性[1]

ふ

プログラム構成例

開発時[1]

実行時[1]

ほ

ポリシー[1]

め

メッセージに有効期限を設定する[1]

ろ

ログイン構成ファイルの配置について[1]