以下の項では、SALT WSSP 1.2のリファレンス情報について説明します。
SALTでは、着信サービスに対してWS-Securityプロトコル・バージョン1.1の一部を実装しています。UsernameTokenとX509v3Tokenによる認証がサポートされています。認証の実装方法を説明するには、WSDL定義にWS-SecurityPolicyを使用します。
WS-Security 1.1を介してOracle WebLogicリリース10と通信するために、SALTはWebLogic 10によってサポートされているWS-SecurityPolicy (WSSP) 1.2の対応物を実装しています。ただし、サポートされているWSSP 1.2アサーションは次のように制限されています。
WS-SecurityPolicy 1.2アサーションの制限の詳細は、「Oracle SALT WSSP1.2アサーションの説明」を参照してください。
WebLogic 10でサポートされるWSSP 1.2アサーションの詳細は、Oracle WebLogic Webサービス・ドキュメントのOracle Webサービス・セキュリティ・ポリシー・アサーション・リファレンスに関する項を参照してください。
このドキュメントでは、接頭辞「sp」のXMLネームスペースは「http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512」ネームスペースURIを表しています。
リストE-1 WSSP 1.2アサーションによるユーザー名トークン認証。
<!-Binding Policy -->
<wsp:Policy
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512">
<sp:TransportBinding>
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpToken/>
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp/>
</wsp:Policy>
</sp:TransportBinding>
<sp:SupportingTokens>
<wsp:Policy>
<sp:UsernameToken
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssUsernameToken10/>
</wsp:Policy>
</sp:UsernameToken>
</wsp:Policy>
</sp:SupportingTokens>
</wsp:Policy>
<?xml version="1.0"?>
<wsp:Policy
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512"
>
<sp:AsymmetricBinding>
<wsp:Policy>
<sp:InitiatorToken>
<wsp:Policy>
<sp:X509Token
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssX509V3Token10/>
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:InitiatorToken>
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>
<sp:OnlySignEntireHeadersAndBody/>
</wsp:Policy>
</sp:AsymmetricBinding>
<sp:SignedParts>
<sp:Body/>
</sp:SignedPart>
</wsp:Policy>
SALTには、代表的Webサービス・アプリケーションに使用できるいくつかのWS-SecurityPolicy 1.2テンプレート・ファイルが用意されています。これらのポリシー・ファイルはTUXDIR/udataobj/salt/policyディレクトリにあります。
これらのテンプレート・ファイルは以下の場所値の形式でWSDFファイルで直接参照することができます。
たとえば、signbodyを構成する場合は、WSDFファイルに次のsignbodyを指定することができます。
<Policy location=”salt:wssp1.2-signbody.xml” />
次に、SALTでサポートされるすべてのWSSP 1.2アサーションおよびその制限を示します。顧客は独自のカスタマイズしたWSSP 1.2ポリシー・ファイルを書き込む時に制限に従う必要があります。SALTは制限事項ルールに対しカスタマイズしたWSSP 1.2ポリシー・ファイルをチェックしません。カスタマイズしたWSSP 1.2ポリシー・ファイルに請求したものがSALTによってサポートされない場合は、Webサービス・クライアント・プログラムで実行時エラーが発生することがあります。
次にリストされていないWS-SecurityPolicy 1.2アサーションは、SALTではサポートされません。
署名しなければならないSOAPメッセージの部分を指定します。SALTでは、署名するSOAP全体のみサポートします。
SOAPメッセージに追加するユーザー名トークンを指定します。SALTでは、WS-Securityユーザー名トークン・プロファイル1.0に定義したクリア・テキスト・パスワードのみがサポートされます。<UsernameToken>アサーションはセキュリティ・バインディングのアサーションおよびSupporting Tokenアサーションのネストされたアサーションとして使用する必要があります。
SOAPメッセージに追加するX509トークンを含むバイナリ・セキュリティ・トークンを指定します。<X509Token>アサーションは、セキュリティ・バインディングのアサーションおよびSupporting Tokenアサーションのネストされたアサーションとして使用する必要があります。
セキュリティ・トークンにおいて暗号操作を実行するのに使用するアルゴリズム・スイートを指定します。<AlgorithmSuite>アサーションは、セキュリティ・バインディング・アサーションのネストされたアサーションとして使用する必要があります。
セキュリティ・ヘッダーに項目を追加する場合のレイアウト・ルールを指定します。<Layout>アサーションは、セキュリティ・バインディング・アサーションのネストされたアサーションとして使用する必要があります。
メッセージの保護とセキュリティ間の相互関係はトランスポート方法によって提供されることを示します。<TransportBinding>トークンを使用して、主にSOAPメッセージにおける遠隔ユーザー名トークンを実行します。
リストE-3に、SALTでサポート対象のTransportTokenアサーションの例を示します。
<sp:TransportBinding>
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpToken />
</wsp:Policy>
</sp:TransportToken>
<sp:Algorithm>
<wsp:Policy>
<sp:Basic256>
</wsp:Policy>
</sp:Algorithm>
</wsp:Policy>
</sp:TransportBinding>
メッセージの保護はWS-Security SOAPメッセージ・セキュリティで定義した方法によって提供されることを指定します。また、要求メッセージと応答メッセージのライフサイクルが異なっているので、それらの暗号化および署名に対して別のキーを使用できます。<AsymmetricBinding>アサーションは主に着信呼出しに対してSOAPリクエスト・メッセージでのX.509バイナリ・セキュリティ・トークンを実行するために使用します。
リストE-4に、SALTでサポート対象のAsymmetricBindingアサーションの例を示します。このアサーションは、WS-Security X.509 Token Profile 1.1仕様で定義したX.509 V3バイナリ・トークンがSOAPリクエスト・メッセージのデジタル署名のために使用されること、およびX.509トークンは常にSOAPメッセージ・セキュリティ・ヘッダーに含まれていることを示します。
<sp:AsymmetricBinding>
<wsp:Policy>
<sp:InitiatorToken>
<wsp:Policy>
<sp:X509Token sp:IncludeToken=”http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient”>
<wsp:Policy>
<sp:WssX509V3Token11 />
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:InitiatorToken>
<sp:RecipientToken>
<wsp:Policy>
<sp:X509Token sp:IncludeToken=”http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/Never”>
<wsp:Policy>
<sp:WssX509V3Token11 />
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:RecipientToken>
<sp:Algorithm>
<wsp:Policy>
<sp:Basic256>
</wsp:Policy>
</sp:Algorithm>
<sp:Layout>
<wsp:Policy>
<sp:Lax>
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp />
</wsp:Policy>
</sp:AsymmetricBinding>
セキュリティ・トークンがセキュリティ・ヘッダーにあり、必要に応じて、署名および/または暗号化する追加のメッセージ部分を含む場合があることを示します。SALTでは、<sp:AsymmetricBinding>アサーションを使用すると、主にユーザー名トークンをセキュリティ・ヘッダーにインクルードするために<SupportingToken>アサーションが使用されます。
リストE-5に、SALTでサポート対象のSupportingTokenアサーションの例を示します。このアサーションは、ユーザー名トークンが常にSOAPリクエスト・メッセージに含まれていることを示します。
<sp:SupportingTokens>
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200512/IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssUsernameToken10/>
</wsp:Policy>
</sp:UsernameToken>
</wsp:Policy>
</sp:SupportingTokens>