このトピックと AdminTask オブジェクトの SecureConversation グループのコマンドを使用して、
ご使用のアプリケーションに添付する新規ポリシー・セットとバインディングを作成することにより、
secure conversation client のキャッシュを使用可能にできます。
始める前に
Web サービスを含むアプリケーションをデプロイします。
このトピックのコマンドを使用する前に、お使いの wsadmin ツールが最新のものであることを確認してください。プロパティー・オブジェクトを attributes または bindingLocation パラメーターの値として受け入れるポリシー・セット管理コマンドは、以前のバージョンの wsadmin ツールではサポートされていません。例えば、このコマンドはバージョン 6.1.0.x ノードでは実行できません。
このタスクについて
このトピックでは、デフォルトの SecureConversation ポリシー・セットと、
デフォルトの WS-Security および TrustServiceSecurityDefault バインディングを使用して、secure conversation を使用可能にします。
デフォルトの SecureConversation ポリシー・セットには、
対称バインディングを持つアプリケーション・ポリシーと、
非対称バインディングを持つブートストラップ・ポリシーが含まれています。
アプリケーション・ポリシーは、アプリケーション・メッセージをセキュアにします。
ブートストラップ・ポリシーは、RequestSecurityToken (RST) メッセージをセキュアにします。
セキュリティー・コンテキスト・トークン・プロバイダーを発行するトラスト・サービスは、
TrustServiceSecurityDefault システム・ポリシーと TrustServiceSecurityDefault バインディングを使用します。
トラスト・ポリシーは、RequestSecurityTokenResponse (RSTR) メッセージをセキュアにします。
ブートストラップ・ポリシーを変更する場合は、
両方の構成が一致するように、トラスト・ポリシーも変更する必要があります。
注: 以下のステップは、開発およびテスト環境でのみ使用します。
この手順の WS-Security デフォルト・バインディングには、
サンプル鍵ファイルが含まれています。このファイルは、実稼働環境でバインディングを使用する前にカスタマイズする必要があります。
実稼働環境向けのカスタム・バインディングを作成します。
プロシージャー
- wsadmin スクリプト・ツールの起動。
- 既存の SecureConversation ポリシー・セットをコピーします。
次のコマンド例を使用して、
既存の SecureConversation ポリシー・セットをコピーすることにより、
新規ポリシー・セットを作成します。
AdminTask.copyPolicySet('[-sourcePolicySet SecureConversation -newPolicySet CopyOfSCPolicySet]')
- オプション: WS-Security デフォルト・バインディングを変更します。
プロファイルの作成時に「開発テンプレートを使用するサーバーの作成」オプションを選択した場合は、
オプションでこのステップをスキップできます。
WS-Security デフォルト・バインディングをまだカスタマイズしていない場合は、
サービス・クライアントとサービス・プロバイダーが同じバインディングのセットを使用するように、
鍵ストア属性を変更します。
- 各 WS-Security ポリシー属性をリストします。
次のコマンド例を使用して、各 WS-Security ポリシー属性をリストします。
AdminTask.getBinding('-policyType WSSecurity -bindingLocation ""')
- 保護トークンのアウトバウンド構成を変更します。
次のコマンドを使用して、保護トークンのアウトバウンド構成を変更します。
cmd1_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.key.name [CN=Bob,O=IBM, C=US]] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.keystore.storepass storepass] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.keystore.type JCEKS] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler.key.alias bob]
[application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler.keystore.path ${USER_INSTALL_ROOT}
/etc/ws-security/samples/enc-sender.jceks] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "" -attributes cmd1_attributes_value
-attachmentType application]')
cmd2_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore
.path ${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks] [application.securityoutboundbindingconfig
.tokengenerator_0.callbackhandler.keystore.storepass client] [application.securityoutboundbindingconfig
.tokengenerator_0.callbackhandler.key.name [CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP]] [application
.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key.keypass client] [application
.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key.alias soaprequester]
[application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.type JKS] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "" -attributes cmd2_attributes_value
-attachmentType application]')
- オプション: TrustDefaultBindings バインディングを変更します。
プロファイルの作成時に「開発テンプレートを使用するサーバーの作成」オプションを選択した場合は、
オプションでこのステップをスキップできます。
TrustDefaultBindings をまだカスタマイズしていない場合は、
次のコマンドを使用して TrustDefaultBindings バインディングを変更します。
cmd3_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore
.storepass storepass] [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.key.alias bob]
[application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore.type JCEKS] [application
.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore.path ${USER_INSTALL_ROOT}/etc
/ws-security/samples/enc-sender.jceks] [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler
.key.name [CN=Bob, O=IBM, C=US]] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "[attachmentId 2]"
-attributes cmd3_attributes_value -attachmentType system/trust]')
cmd4_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.path
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks] [application.securityoutboundbindingconfig.tokengenerator_0
.callbackhandler.keystore.storepass client] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler
.key.name [CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP]] [application.securityoutboundbindingconfig.tokengenerator_0
.callbackhandler.key.keypass client] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key
.alias soaprequester] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.type JKS] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "[attachmentId 2]"
-attributes cmd4_attributes_value -attachmentType system/trust]')
- ポリシー・セットとバインディングをアプリケーションに添付します。
createPolicySetAttachment コマンドの attachmentType パラメーターを使用して、
アプリケーションがサービス・クライアントであるか、サービス・プロバイダーであるかを指定します。
次のコマンドを使用して、
CopyOfSCPolicySet ポリシー・セットを
myTestApp サービス・クライアント・アプリケーションに添付します。
AdminTask.createPolicySetAttachment('[-applicationName myTestApp -policySet CopyOfSCPolicySet
-resources WebService:/ -attachmentType client]')
次のコマンドを使用して、
CopyOfSCPolicySet ポリシー・セットを
myTestApp サービス・プロバイダー・アプリケーションに添付します。
AdminTask.createPolicySetAttachment('[-applicationName myTestApp -policySet CopyOfSCPolicySet
-resources WebService:/ -attachmentType application]')
このステップにより、
デフォルト・バインディングが自動的に割り当てられます。
結果
セル・レベル・ディレクトリーにある WSSCCache.xml ファイル内の secure conversation 構成が更新されました。
次の作業
AdminTask オブジェクトの SecureConversation コマンド・グループを使用して、
secure conversation 構成を管理します。