JAX-RPC のデフォルト・サンプル構成
テストを行うために、管理コンソールでサンプル構成を使用してください。 指定された構成は、セル・レベルまたはサーバー・レベルで反映されます。
ここでは、API for XML-based RPC (JAX-RPC) プログラミング・モデルを使用する WebSphere® Application Server 用の、サンプルのデフォルト・バインディング、鍵ストア、鍵ロケーター、コレクション証明書ストア、トラスト・アンカー、およびトラステッド ID エバリュエーターについて説明します。 Java™ API for XML-based RPC (JAX-RPC) プログラミング・モデルを使用して、Web サービスを開発することができます。また、WebSphere Application Server バージョン 7 以降の場合には、Java API for XML-Based Web Services (JAX-WS) プログラミング・モデルを使用して Web サービスを開発することができます。サンプルのデフォルト・バインディング、鍵ストア、鍵ロケーター、コレクション証明書ストア、トラスト・アンカー、およびトラステッド ID エバリュエーターは、ご使用のプログラミング・モデルによって異なる場合があります。

これらの構成は、サンプルおよびテストのみを目的とするものであるため、実稼働環境では使用しないでください。 これらのサンプル構成を変更するには、WebSphere Application Server に用意された管理コンソールを使用することをお勧めします。
Web Services Security 対応のアプリケーションの場合は、デプロイメント記述子およびバインディングを正しく構成しなければなりません。WebSphere Application Server では、デフォルト・バインディングの 1 つのセットを複数のアプリケーションで共有するため、アプリケーションのデプロイメントが容易になっています。セル・レベルおよびサーバー・レベルのデフォルト・バインディング情報は、 アプリケーション・レベルのバインディング情報によってオーバーライドすることができます。 アプリケーション・サーバーは、サーバー・レベル、そして次のセル・レベルを検索する前に、 アプリケーション・レベルでアプリケーションのバインディング情報を検索します。
以下のサンプル構成は、API for XML-based RPC (JAX-RPC) プログラミング・モデルを使用する WebSphere Application Server 用の構成です。
デフォルト生成バインディング
WebSphere Application Server では、デフォルト生成バインディングのサンプル・セットを提供しています。デフォルト生成バインディングには署名情報と暗号情報の両方が含まれています。
- gen_signinfo 構成に、以下のアルゴリズムを使用します。
- シグニチャー・メソッド: http://www.w3.org/2000/09/xmldsig#rsa-sha1
- 正規化方式: http://www.w3.org/2001/10/xml-exc-c14n#
- gen_signkeyinfo 署名鍵情報を参照します。
以下の情報は gen_signkeyinfo 構成に関するものです。
- gen_signpart と呼ばれるパーツ参照構成を含みます。
パーツ参照は、デフォルト・バインディングでは使用されません。
署名情報は、デプロイメント記述子内のすべての「Integrity」または「Required Integrity」エレメントに適用され、情報はネーミング目的でのみ使用されます。
以下の情報は gen_signpart 構成に関するものです。
- transform1 と呼ばれる変換構成を使用します。
以下の変換は、デフォルトの署名情報のために構成されています。
- http://www.w3.org/2001/10/xml-exc-c14n# アルゴリズムを使用します。
- http://www.w3.org/2000/09/xmldsig#sha1 ダイジェスト・メソッドを使用します。
- transform1 と呼ばれる変換構成を使用します。
以下の変換は、デフォルトの署名情報のために構成されています。
- セキュリティー・トークン参照を使用します。これは、構成済みのデフォルト鍵情報です。
- SampleGeneratorSignatureKeyStoreKeyLocator 鍵ロケーターを使用します。 この鍵ロケーターについての詳細は、サンプル鍵ロケーター を参照してください。
- gen_signtgen トークン生成プログラムを使用します。これには以下の構成が含まれています。
- X.509 トークン生成プログラムを含みます。これは署名者の X.509 トークンを生成します。
- gen_signtgen_vtype 値タイプの URI を含みます。
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 値タイプのローカル名値を含みます。
- X.509 コールバック・ハンドラーを使用します。
コールバック・ハンドラーは ${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks 鍵ストアを呼び出します。
- 鍵ストアのパスワードは client です。
- トラステッド証明書の別名は soapca です。
- 個人証明書の別名は soaprequester です。
- 鍵パスワード・クライアントは中間認証局 Int CA2 が発行し、 この中間認証局は、soapca が発行します。
- gen_signpart と呼ばれるパーツ参照構成を含みます。
パーツ参照は、デフォルト・バインディングでは使用されません。
署名情報は、デプロイメント記述子内のすべての「Integrity」または「Required Integrity」エレメントに適用され、情報はネーミング目的でのみ使用されます。
以下の情報は gen_signpart 構成に関するものです。
- gen_encinfo 構成に、以下のアルゴリズムを使用します。
- データ暗号化方式: http://www.w3.org/2001/04/xmlenc#tripledes-cbc
- 鍵暗号化方式: http://www.w3.org/2001/04/xmlenc#rsa-1_5
- gen_enckeyinfo 暗号鍵情報を参照します。
以下の情報は gen_enckeyinfo 構成に関するものです。
- デフォルト鍵情報として、鍵 ID を使用します。
- SampleGeneratorEncryptionKeyStoreKeyLocator 鍵ロケーターへの参照を含みます。 この鍵ロケーターについての詳細は、サンプル鍵ロケーター を参照してください。
- gen_signtgen トークン生成プログラムを使用します。これは以下の構成を持っています。
- X.509 トークン生成プログラムを含みます。これは署名者の X.509 トークンを生成します。
- gen_enctgen_vtype 値タイプの URI を含みます。
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 値タイプのローカル名値を含みます。
- X.509 コールバック・ハンドラーを使用します。
コールバック・ハンドラーは ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-sender.jceks 鍵ストアを呼び出します。
- 鍵ストアのパスワードは storepass です。
- 秘密鍵 CN=Group1 は、Group1 という別名および keypass というパスワードを持っています。
- 公開鍵 CN=Bob, O=IBM, C=US は、bob という別名および keypass というパスワードを持っています。
- 秘密鍵 CN=Alice, O=IBM, C=US は、alice という別名および keypass というパスワードを持っています。
デフォルトのコンシューマー・バインディング
WebSphere Application Server では、デフォルトのコンシューマー・バインディングのサンプル・セットを提供しています。デフォルトのコンシューマー・バインディングには、署名情報と暗号化情報の両方が含まれています。
- con_signinfo 構成に、以下のアルゴリズムを使用します。
- シグニチャー・メソッド: http://www.w3.org/2000/09/xmldsig#rsa-sha1
- 正規化方式: http://www.w3.org/2001/10/xml-exc-c14n#
- con_signkeyinfo 署名鍵情報参照を使用します。
以下の情報は con_signkeyinfo 構成に関するものです。
- con_signpart と呼ばれるパーツ参照構成を含みます。
パーツ参照は、デフォルト・バインディングでは使用されません。
署名情報は、デプロイメント記述子内のすべての「Integrity」または「RequiredIntegrity」エレメントに適用され、情報はネーミング目的でのみ使用されます。
以下の情報は con_signpart 構成に関するものです。
- reqint_body_transform1 と呼ばれる変換構成を使用します。
以下の変換は、デフォルトの署名情報のために構成されています。
- http://www.w3.org/2001/10/xml-exc-c14n# アルゴリズムを使用します。
- http://www.w3.org/2000/09/xmldsig#sha1 ダイジェスト・メソッドを使用します。
- reqint_body_transform1 と呼ばれる変換構成を使用します。
以下の変換は、デフォルトの署名情報のために構成されています。
- セキュリティー・トークン参照を使用します。これは、構成済みのデフォルト鍵情報です。
- SampleX509TokenKeyLocator 鍵ロケーターを使用します。 この鍵ロケーターについての詳細は、サンプル鍵ロケーター を参照してください。
- con_signtcon トークン・コンシューマー構成を参照します。
以下の情報は con_signtcon 構成に関するものです。
- X.509 トークン・コンシューマーを使用します。これはデフォルトの署名情報のためのコンシューマーとして構成されています。
- signtconsumer_vtype 値タイプの URI を含みます。
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 値タイプのローカル名値を含みます。
- 以下の情報を参照する、system.wssecurity.X509BST と呼ばれる JAAS 構成を含みます。
- トラスト・アンカー: SampleClientTrustAnchor
- コレクション証明書ストア: SampleCollectionCertStore
- con_signpart と呼ばれるパーツ参照構成を含みます。
パーツ参照は、デフォルト・バインディングでは使用されません。
署名情報は、デプロイメント記述子内のすべての「Integrity」または「RequiredIntegrity」エレメントに適用され、情報はネーミング目的でのみ使用されます。
以下の情報は con_signpart 構成に関するものです。
- con_encinfo 構成に、以下のアルゴリズムを使用します。
- データ暗号化方式: http://www.w3.org/2001/04/xmlenc#tripledes-cbc
- 鍵暗号化方式: http://www.w3.org/2001/04/xmlenc#rsa-1_5
- con_enckeyinfo 暗号鍵情報を参照します。
この鍵が、実際にメッセージを暗号化解除します。
以下の情報は con_enckeyinfo 構成に関するものです。
- 鍵 ID を使用します。これは、デフォルト暗号化情報のための鍵情報として構成されています。
- SampleConsumerEncryptionKeyStoreKeyLocator 鍵ロケーターへの参照を含みます。 この鍵ロケーターについての詳細は、サンプル鍵ロケーター を参照してください。
- con_enctcon トークン・コンシューマー構成を参照します。
以下の情報は con_enctcon 構成に関するものです。
- X.509 トークン・コンシューマーを使用します。これはデフォルトの暗号化情報のために構成されています。
- enctconsumer_vtype 値タイプの URI を含みます。
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3 値タイプのローカル名値を含みます。
- system.wssecurity.X509BST と呼ばれる JAAS 構成を含みます。
サンプル鍵ストアの構成
![[Windows]](../images/windows.gif)
- IKEYMAN ユーティリティーは、以下のディレクトリー内にあります。app_server_root/bin/ikeyman
- 鍵ツールは、以下のディレクトリーにあります。app_server_root/java/jre/bin/keytool
![[AIX HP-UX Solaris]](../images/unix.gif)
![[Linux]](../images/linux.gif)
- iKeyman ユーティリティーは、ディレクトリー app_server_root¥bin¥ikeyman.sh にあります。
- 鍵ツールは、ディレクトリー app_server_root¥java¥jre¥bin¥keytool.sh にあります。
以下のサンプル鍵ストアはテストのみを目的とするものです。 これらの鍵ストアを実稼働環境で使用しないでください。
- ${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
- 鍵ストアのフォーマットは JKS です。
- 鍵ストアのパスワードは client です。
- トラステッド証明書は、別名 soapca を持っています。
- 個人証明書の別名は soaprequester で、鍵パスワードは client です。 鍵パスワードは中間認証局 Int CA2 によって発行され、この中間認証局は、soapca によって発行されます。
- ${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
- 鍵ストアのフォーマットは JKS です。
- 鍵ストアのパスワードは server です。
- トラステッド証明書は、別名 soapca を持っています。
- 個人証明書の別名は soapprovider で、鍵パスワードは server です。 鍵パスワードは中間認証局 Int CA2 によって発行され、この中間認証局は、soapca によって発行されます。
- ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-sender.jceks
- 鍵ストアのフォーマットは JCEKS です。
- 鍵ストアのパスワードは storepass です。
- DES 秘密鍵 CN=Group1 は、別名 Group1 および鍵パスワード keypass を持っています。
- 公開鍵 CN=Bob, O=IBM, C=US は、別名 bob および鍵パスワード keypass を持っています。
- 秘密鍵 CN=Alice, O=IBM, C=US は、別名 alice および鍵パスワード keypass を持っています。
- ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks
- 鍵ストアのフォーマットは JCEKS です。
- 鍵ストアのパスワードは storepass です。
- DES 秘密鍵 CN=Group1 は、別名 Group1 および鍵パスワード keypass を持っています。
- 秘密鍵 CN=Bob, O=IBM, C=US は、別名 bob および鍵パスワード keypass を持っています。
- 公開鍵 CN=Alice, O=IBM, C=US は、別名 alice および鍵パスワード keypass を持っています。
- ${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer
- 中間証明書は、soapca によって署名され、また soaprequester と soapprovider の両方に署名します。
サンプル鍵ロケーター
- アプリケーション・レベルでのジェネレーター・バインディングのための、 JAX-RPC による鍵ロケーターの構成
- アプリケーション・レベルでのコンシューマー・バインディングのための、 JAX-RPC による鍵ロケーターの構成
- サーバーまたはセル・レベルでの JAX-RPC による 鍵ロケーターの構成
- SampleClientSignerKey
- この鍵ロケーターは、バージョン 5.x アプリケーションの要求送信側が、SOAP メッセージに署名する場合に使用します。 署名鍵名は clientsignerkey です。これは、署名情報で署名鍵名として参照されます。
- SampleServerSignerKey
- この鍵ロケーターは、バージョン 5.x アプリケーションの応答送信側が、SOAP メッセージに署名する場合に使用します。署名鍵名は serversignerkey です。これは、 署名情報で署名鍵名として参照されます。
- SampleSenderEncryptionKeyLocator
- この鍵ロケーターは、バージョン 5.x アプリケーションの送信側が、SOAP メッセージを暗号化する場合に使用します。これは、${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-sender.jceks 鍵ストアおよび com.ibm.wsspi.wssecurity.config.KeyStoreKeyLocator 鍵ストア鍵ロケーターを使用するように構成されています。この実装は、DES 秘密鍵用に構成されます。 非対称暗号化 (RSA) を使用するには、適切な RSA 鍵を追加する必要があります。
- SampleReceiverEncryptionKeyLocator
- この鍵ロケーターは、バージョン 5.x アプリケーションの受信側が、暗号化された SOAP メッセージを暗号化解除する場合に使用します。この実装は、${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks 鍵ストアおよび com.ibm.wsspi.wssecurity.config.KeyStoreKeyLocator 鍵ストア鍵ロケーターを使用するように構成されています。この実装は、対称暗号化 (DES または TRIPLEDES) 用に構成されています。 RSA を使用するには、秘密鍵 CN=Bob, O=IBM, C=US、別名 bob、および鍵パスワード keypass を追加する必要があります。
- SampleResponseSenderEncryptionKeyLocator
- この鍵ロケーターは、バージョン 5.x アプリケーションの応答送信側が、SOAP 応答メッセージを暗号化する場合に使用します。これは、${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks 鍵ストアおよび com.ibm.wsspi.wssecurity.config.WSIdKeyStoreMapKeyLocator 鍵ストア鍵ロケーターを使用するように構成されています。この鍵ロケーターによって、暗号化の公開鍵に (現在のスレッドの) 認証 ID がマップされます。 デフォルトでは、WebSphere Application Server は公開鍵 alice にマップするように構成されますので、WebSphere Application Server を該当のユーザーに合わせて変更する必要があります。また、SampleResponseSenderEncryptionKeyLocator 鍵ロケーター は、暗号化のデフォルト鍵を設定することもできます。 この鍵ロケーターは、デフォルトでは公開鍵 alice を使用するよう構成されています。
- SampleGeneratorSignatureKeyStoreKeyLocator
- この鍵ロケーターは、ジェネレーターが、SOAP メッセージに署名する場合に使用します。 署名鍵名は SOAPRequester です。これは、署名情報で署名鍵名として参照されます。 これは、${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks 鍵ストアおよび com.ibm.wsspi.wssecurity.keyinfo.KeyStoreKeyLocator 鍵ストア鍵ロケーターを使用するように構成されています。
- SampleConsumerSignatureKeyStoreKeyLocator
- この鍵ロケーターは、コンシューマーが SOAP メッセージ内にデジタル署名を検証する場合に使用します。 署名鍵は SOAPProvider です。これは、署名情報で参照されます。 これは、${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks 鍵ストアおよび com.ibm.wsspi.wssecurity.keyinfo.KeyStoreKeyLocator 鍵ストア鍵ロケーターを使用するように構成されています。
- SampleGeneratorEncryptionKeyStoreKeyLocator
- この鍵ロケーターは、ジェネレーターが SOAP メッセージを暗号化する場合に使用します。 これは、${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-sender.jceks 鍵ストアおよび com.ibm.wsspi.wssecurity.keyinfo.KeyStoreKeyLocator 鍵ストア鍵ロケーターを使用するように構成されています。
- SampleConsumerEncryptionKeyStoreKeyLocator
- この鍵ロケーターは、コンシューマーが暗号化された SOAP メッセージを暗号化解除する場合に使用します。 これは、${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks 鍵ストアおよび com.ibm.wsspi.wssecurity.keyinfo.KeyStoreKeyLocator 鍵ストア鍵ロケーターを使用するように構成されています。
- SampleX509TokenKeyLocator
- この鍵ロケーターは、コンシューマーが X.509 証明書内のデジタル証明書を検証する場合に使用します。 これは、${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks 鍵ストアおよび com.ibm.wsspi.wssecurity.keyinfo.KeyStoreKeyLocator 鍵ストア鍵ロケーターを使用するように構成されています。
サンプル・コレクション証明書ストア
- アプリケーション・レベルでのジェネレーター・バインディングのコレクション証明書ストアの構成
- アプリケーション・レベルでのコンシューマー・バインディングのコレクション証明書ストアの構成
- サーバーまたはセル・レベルでのコレクション証明書の構成
- SampleCollectionCertStore
- このコレクション証明書ストアは、応答コンシューマーおよび要求ジェネレーターが、署名者証明書パスを検証する場合に使用します。
サンプル・トラスト・アンカー
- アプリケーション・レベルでのジェネレーター・バインディングのトラスト・アンカーの構成
- アプリケーション・レベルでのコンシューマー・バインディングのトラスト・アンカーの構成
- サーバーまたはセル・レベルのトラスト・アンカーの構成
- SampleClientTrustAnchor
- このトラスト・アンカーは、応答コンシューマーが、署名者証明書を検証する場合に使用します。 このトラスト・アンカーは、${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks 鍵ストアにアクセスするように構成されています。
- SampleServerTrustAnchor
- このトラスト・アンカーは、要求コンシューマーが、署名者証明書を検証する場合に使用します。 このトラスト・アンカーは、${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks 鍵ストアにアクセスするように構成されています。
サンプル・トラステッド ID エバリュエーター
- SampleTrustedIDEvaluator
- このトラステッド ID エバリュエーターは、com.ibm.wsspi.wssecurity.id.TrustedIDEvaluatorImpl 実装を使用します。
com.ibm.wsspi.wssecurity.id.TrustedIDEvaluator のデフォルトの実装には、トラステッド ID のリストが含まれています。
このリストは ID アサーションに使用され、
トラステッド ID の鍵名と値の組を定義します。鍵名の形式は
trustedId_*、値はトラステッド ID です。
詳しくは、サーバーまたはセル・レベルでのトラステッド ID エバリュエーターの構成の例を参照してください。以下のステップを実行して、管理コンソールでこの情報をセル・レベルに対して定義します。
- 「セキュリティー」>「Web サービス」とクリックします。
- 「追加プロパティー」の下で、「Trusted ID evaluators >」>「SampleTrustedIDEvaluator」とクリックします。