SoapUI を使用して Web サービスの証明書ベース認証 (WS-Security) を設定する手順
このナレッジベース記事は、お客様の利便性のために機械翻訳されています。SAP は、この機械翻訳の正確性または完全性に関して、いかなる保証も行うものではありません。言語選択で英語に切り替えると、元のコンテンツを確認できます。
Web サービスの証明書ベースの認証 (WS-Security) を設定する手順
Ariba Web サービスへの受信:
- キーストアは、PEM (Privacy Enhanced Mail) base64 エンコーディングを使用してエンコードされた X.509 証明書とともに使用します。有効な認証機関のものがない場合は、以下の手順を実行して、自己署名キーストア/証明書を生成することができます。
- コマンドプロンプトを開き、ディレクトリをマシンの Java インストール bin ディレクトリに変更します。
- 次のコマンドを実行して、キーストアを生成します (Windows の場合) - パスワードを実際に使用するパスワードに置き換えます。
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048
-
- ステップ 1b では keystore.jks という名前のキーストアファイルが作成されました。これは、新しい証明書と公開鍵と秘密鍵が含まれている Java キーストアです。
- 次に、エンドポイント認証のために Ariba UI に実装できる PEM 証明書をキーストアから抽出します。コマンドプロンプトから、次のコマンドを実行します (パスワードをステップ 1b で設定した実際のパスワードに置き換えます)。
keytool -exportcert -alias selfsigned -keypass password -keystore keystore.jks -storepass password -rfc -file keytool_crt.pem
- このソリューションの目的で、SoapUI での依頼の設定について言及します。Ariba システムで、[管理] > [システム管理/コアシステム管理] > [統合マネージャ] > [エンドポイント設定] > [新規] に移動します。
- ステップ 1d で抽出した Privacy Enhanced Mail (PEM) base64 エンコーディングを使用してエンコードされた X.509 証明書をペーストし、証明書ファイルにペーストして変更を保存します。証明書の最初の行は、以下のテキストである必要があります。
-----BEGIN CERTIFICATE-----
証明書の最後の行は、以下のテキストである必要があります。
-----END CERTIFICATE-----

- [管理] > [システム管理/コアシステム管理] > [統合マネージャ] > [統合設定] に移動し、目的の Web サービスを選択して編集し、有効化されていることを確認し、手順 3 で作成したエンドポイントを使用します。
- WSDL URL のコピー
- SoapUI で、新しい SoapUI プロジェクトを作成し、Ariba からコピーした WSDL URL を使用します。
- プロジェクトをダブルクリックします。

- Keystores タブをクリックし、Add アイコン (+ 記号のようなアイコン) をクリックします。
- ステップ 1 で作成したキーストアファイル (ファイル拡張子 .jks) を選択し、キーストアパスワードを入力します。これを行うと、キーストアのステータスが OK になります。

- 送信 WS セキュリティ設定タブをクリックし、追加アイコン (+ 記号のようなアイコン) をクリックします。
- 下のペインにある追加アイコンをクリックして、セキュリティのタイプを追加します。"署名" を選択します。
- ドロップダウンからキーストアとエイリアスを選択し、キーストアパスワードを入力します。キー ID タイプを "発行者名およびシリアル番号" にします。構成すると、構成は以下のようになります。

- 以下のように SoapUI でダブルクリックして依頼を開きます。

- 要求で、"Aut" タブをクリックします。送信 WSS を、ステップ 10 ~ 12 で登録した "送信 WS セキュリティ設定" の名称に設定します。

- これで、SoapUI から要求を実行できます。正常な応答が表示されます。
Ariba Web サービスからミドルウェアへの送信:
- 手順 1 が「Ariba Web サービスへの受信」手順から完了していることを確認します。
-
Ariba システムで、[管理] > [システム管理/コアシステム管理] > [統合マネージャ] > [エンドポイント設定] > [新規] に移動し、[種類] として [送信] を選択します。
"URL" には、エンドポイントを指定します。これは、Ariba から SOAP 要求が送信される場所になります。Ariba では https の使用を推奨していますが、http も機能します。
たとえば、
https://<domain>:<port>/WSOutbound
- "Ariba 秘密鍵で署名" を "はい" に設定し、エンドポイントを保存します
- [管理] > [システム管理/コアシステム管理] > [統合マネージャ] > [統合設定] に移動し、目的の Web サービスを選択して編集し、有効化されていることを確認し、手順 2 で作成したエンドポイントを使用します。また、URL を設定します (エンドポイント URL と同じ URL である必要がありますが、URL に追加パラメータを含めることができます)。
- WSDL URL を開き、ブラウザで URL をコピーします。
- SoapUI で、新しい SoapUI プロジェクトを作成し、Ariba からコピーした WSDL URL を使用します。
- Create MockService がチェックされていることを確認します。
- 次の画面で、ポートおよびパスに関するデータを入力します。
- 登録したプロジェクトをダブルクリックします。
- Keystores タブをクリックし、Add アイコン (+ 記号のようなアイコン) をクリックします。
- Ariba Web サービスへの受信の手順 1 で作成したキーストアファイル (ファイル拡張子 .jks) を選択し、キーストアパスワードを入力します。これを行うと、キーストアのステータスが OK になります。
- 受信 WS セキュリティ設定タブをクリックし、追加アイコン (+ 記号のようなアイコン) をクリックします。
- エントリに名前を指定し、"キーストア解読" および "署名キーストア" のキーストア値を選択し、キーストアパスワードを入力します。
- SOAP プロジェクト内で MockService をクリックします。
- モックサービスプロパティで、"受信 WSS" を、ステップ 13 で設定された "受信 WS セキュリティ設定" の名称に設定します。
- 応答をダブルクリックし、値をマニュアルで入力して、応答が目的の結果 (成功またはエラー) を満たすようにします。これは、要求が SoapUI に送信されたときに Ariba に送信される応答です。
- これで、目的の Web サービスを使用して SoapUI にデータを送信する Ariba アプリケーションでデータを生成できます。
上記のステップを使用したキーストアの生成の詳細については、以下を参照してください。
http://www.john-james-andersen.com/blog/service-now/tutorial-soap-into-servicenow-via-x509-ws-security.html
SoapUI での WS-Security の設定の詳細については、以下を参照してください。
http://www.soapui.org/SOAP-and-WSDL/applying-ws-security.html
Strategic Sourcing
Supplier Information & Performance Management
戦略的契約
購入