セキュリティを構成する

API Connection Manager を使用してXMLとWeb Services (WS) のセキュリティを構成することができます。これによって、安全な接続を実現するさまざまな要素を生成できます。

たとえば、送信メッセージに特定の受信者を指定するアドレス要素や、その要素に署名するための署名を生成できます。

これを行うには、以下の手順に従ってください。

  1. API Connection Manager開いて、編集する接続を選択します。

  2. Edit セクションを展開し、 XML & WS Security に移動します。

  3. 生成したい要素を選択します。これを行うには、 Elements to Generate ドロップダウンメニューの1つ以上の要素にチェックを入れます。

    • All :以下のすべての要素を生成します。

    • Action :Simple Object Access Protocol (SOAP) アクション要素を生成します。

    • To :アドレス要素を生成します。

    • Timestamp :タイムスタンプ要素を生成します。

    • Signature :署名を生成します。

    • Username :ユーザー名トークン要素を生成します。

署名を構成する

アクション要素を構成する

SOAPAction ヘッダーのアクション要素を生成することができます。初期設定では、メッセージの既存の SOAPAction ヘッダーが使用されます。

初期設定を無効にして別のアクションを指定できます。これを行うと、 API Connection Manager がメッセージの SOAP Action ヘッダーからの初期値を上書きします。

アクション要素を指定するには、以下の手順に従ってください。

  1. Use default value for <Action/> のチェックボックスをオフにします。

  2. Action Address フィールドにURLを入力します(例: http://CalculatorService/ICalculator/Add)。

アドレス要素を構成する

アドレス要素を設定すると、メッセージに対して特定の受信者を指定できます。システムは、接続で指定したURL、およびメッセージからこのURLへのリソース識別子を規定値で使用します。

別のアドレスを指定する場合は、以下の手順に従います。

  1. Use default value for <To/> のチェックボックスをオフにします。

  2. To Address フィールドにURLを入力します(例: https://webservice.toscacloud.com/signature.svc)。

これでアドレス要素を保証する署名を構成することができます。

タイムスタンプ要素を構成する

タイムスタンプ要素を設定すると、時間(周期)を指定できます。この時間(周期)が経過するとセキュリティの期限が切れ、メッセージが無効になります。

Time to live in Seconds(秒単位のTTL)を指定します(例: ​60)。

これで、タイムスタンプ要素を保証する署名を構成することできます。

署名を構成する

署名を構成するには、以下の手順に従います。

  1. Type of Signature ドロップダウンメニューから、必要な署名のタイプを選択します。

    • Signature in Security Header (SOAP Standard) :SOAPメッセージを保証するXML署名です。

    • Enveloped Signature :メッセージの一部を構成し、メッセージの特定の要素を保証する署名です。

  2. 署名が保証するメッセージの要素を指定します。これを行うには、 Element to Sign ドロップダウンメニューから任意の要素を選択します。

    • Body :メッセージ本文を保証する署名です。

    • Timestamp :メッセージのタイムスタンプを保証する署名です。

    • To :受信者のアドレスを保証する署名です。

    • Custom element :ユーザーが指定したメッセージ要素を保証する署名です。要素を指定するには、 Custom Element Id フィールドにidを入力します(例: id-123)。

    • All :すべてのオプションを選択します。

  3. ドロップダウンメニューから Canonicalization Algorithm を選択します。

    正規化によって、論理的に同等なXMLドキュメントがレンダリング方法が異なっていても同一の署名を提供することを保証します。

    利用可能な正規化アルゴリズムに関する詳細情報は、 W3C XML Signature Syntax and Processing Version 2.0 - Canonicalization Algorithms(W3C XML署名構文および処理バージョン2.0 - 正規化アルゴリズム)をご覧ください。

  4. ドロップダウンメニューから Digest Algorithm を選択します。

    ダイジェストアルゴリズムは、入力メッセージのハッシュ値を計算します。この値は、セキュリティ署名の作成と検証に使用されます。

    使用可能なDigestアルゴリズムの詳細情報については、 W3C XML Signature Syntax and Processing Version 2.0 - Message Digests(W3C XML 署名構文および処理バージョン2.0- メッセージダイジェスト)をご覧ください。

  5. ドロップダウンメニューから Signature Method を選択します。

    利用可能な署名アルゴリズムに関する詳細情報は、 W3C XML Signature Syntax and Processing Version 2.0 - Signature Algorithms(W3C XML署名構文および処理バージョン2.0 - 署名アルゴリズム)をご覧ください。

  6. 署名検証には、第三者による署名確認を可能にする公開鍵が必要です。容易に検証できるように、公開鍵の情報を含めることができます。

    これを行うには、 Key Identifier Type ドロップダウンメニューからタイプを選択します。

    • Do not Include :公開鍵の情報を含めません。

    • RSA or DSA key value :Rivest-Shamir-Adleman (RSA) またはデジタル署名アルゴリズム (DSA) 鍵値を含めます。

    • Issuer and Serial Number :公開鍵の発行者とシリアル番号を含めます。この場合、鍵データを提供する証明書を送信側と受信側の双方の機器で利用可能にする必要があります。

    • X509v3 Certificate Data :公開鍵の証明書データを X509v3 形式で含めます。

    • Binary Security TokenBase64 でエンコードされた公開鍵を含めます。

  7. セキュリティ署名には、秘密鍵を含み公開鍵用のデータを提供する証明書が必要です。証明書にはPFXファイルまたは Java Keystore を使用することができます。

    証明書を指定するには、 Certificate ドロップダウンメニューから必要なタイプを選択します。

    • 証明書がRFXファイルの場合は、 Certificate File を選択します。

      次に、 Certificate Path フィールドの アイコンをクリックします。後続のダイアログで、証明書ファイルを選択し、開くをクリックします。必要に応じて Certificate Password を入力します。

    • 証明書が Java Keystoreに保存されている場合は、Certificate from Java Keystore を選択します。

      次に、 Keystore Path フィールドで アイコンをクリックします。後続のダイアログで、キーストアのファイルを選択し、開くをクリックします。必要に応じて Keystore Password を入力します。

      ドロップダウンメニューから Certificate Alias を選択し、必要に応じて証明書パスワードを入力します。

ユーザー名トークンを構成する

API Engine 3,0 は、メッセージのヘッダーセクションにユーザー名トークンを作成することができます。このトークンには、WSセキュリティに関する情報が含まれています。

ユーザー名トークンを指定するには、以下の手順に従ってください。

  1. Username フィールドにユーザー名を入力します。

  2. Password フィールドにパスワードを入力します。

  3. Password type を選択します。

    • Plain text :パスワードをXMLメッセージのヘッダーセクションに含めてプレーンテキスト形式で送信します。

    • Digest :パスワードをXMLメッセージのヘッダーセクションに含めてDigest 形式で送信します。

  4. オプションで、 Add Nonce を選択して Nonce 要素を追加します。

  5. オプションで、 Add Created を選択して Created 要素を追加します。