SoapUI を使用して Web サービスの証明書ベースの認証 (WS-Security) を設定するステップ
このナレッジベース記事は、お客様の利便性のために機械翻訳されています。SAP は、この機械翻訳の正確性または完全性に関して、いかなる保証も行うものではありません。言語選択で英語に切り替えると、元のコンテンツを確認できます。
Web サービスの証明書ベースの認証 (WS-Security) を設定するステップ
Ariba Web サービスへの受信:
- キーストアと、Privacy Enhanced Mail (PEM) base64 エンコーディングを使用してエンコードされた X.509 証明書を使用します。有効な認証局の証明書がない場合は、以下を実行して自己署名キーストア/証明書を生成することができます。
- コマンドプロンプトを開き、ディレクトリをマシンの Java install 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 証明書を証明書ファイルにペーストし、変更を保存します。証明書の最初の行は、以下のテキストにする必要があります。
-----証明書開始-----
証明書の最後の行は、以下のテキストである必要があります。
-----証明書終了-----

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

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

- [送信 WS セキュリティ設定] タブをクリックし、[追加] アイコン (+ 記号のようなアイコン) をクリックします。
- 下のペインで追加アイコンをクリックして、セキュリティのタイプを追加します。"署名" を選択します。
- ドロップダウンからキーストアとエイリアスを選択し、キーストアのパスワードを入力します。Key Identifier Type = "Issuer Name and Serial Number" にします。設定が完了すると、設定は以下のようになります。

- 要求を SoapUI でダブルクリックして開きます。

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

- これで、SoapUI からの要求を実行できます。正常な応答が表示されます。
Ariba Web サービスからミドルウェアへの送信:
- 「Ariba Web サービスへの受信」の手順から手順 1 が完了していることを確認します。
-
Ariba システムで、[管理] > [システム管理/コアシステム管理] > [統合マネージャ] > [エンドポイント設定] > [新規] に移動し、[種類] として [送信] を選択します。
"URL" にはエンドポイントを指定します。これは、Ariba が SOAP 要求を送信する場所になります。Ariba では https の使用を推奨していますが、http も機能します。
たとえば、
https://<domain>:<port>/WSOutbound
- [Ariba 秘密鍵で署名] を [はい] に設定し、エンドポイントを保存します。
- [管理] > [システム管理/コアシステム管理] > [統合マネージャ] > [統合設定] に移動し、目的の Web サービスを選択して編集し、有効化されていることを確認し、手順 2 で作成したエンドポイントを使用します。また、URL を設定します (エンドポイント URL と同じ URL である必要がありますが、URL に追加パラメータを含めることができます)。
- WSDL URL を開き、ブラウザで URL をコピーします。
- SoapUI で、Ariba からコピーされた WSDL URL を使用して、新しい SoapUI プロジェクトを作成します。
- MockService の作成がチェックされていることを確認します。
- 次の画面で、ポートおよびパスに関するデータを入力します。
- 登録したプロジェクトをダブルクリックします。
- Keystores タブをクリックし、Add アイコン (+ 記号のようなアイコン) をクリックします。
- Ariba Web サービスへの受信のステップ 1 で作成したキーストアファイル (.jks ファイル拡張子) を選択し、キーストアパスワードを入力します。これを行うと、キーストアのステータスは OK になります。
- [受信 WS セキュリティ設定] タブをクリックし、[追加] アイコン (+ 記号のようなアイコン) をクリックします。
- このエントリに Name を指定し、"Decrypt Keystore" および "Signature Keystore" のキーストア値を選択して、キーストアパスワードを入力します。
- SOAP プロジェクト内の MockService をクリックします。
- MockService Properties で、"Incoming WSS" を、ステップ 13 で設定した "Incoming WS-Security Configurations" の名前に設定します。
- 応答をダブルクリックし、応答が目的の結果 (成功またはエラー) を満たすように値をマニュアルで入力します。これは、要求が 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
戦略的契約
購入